margin負值問題

2021-08-07 02:05:12 字數 1742 閱讀 5090

1、原理:

2、對普通文件流中元素(指不是浮動元素也不是絕對定位、固定定位的元素等)的影響

負邊距對由普通文件流控制的元素的作用是,會使它們在文件流中的位置發生偏移,這種偏移不同於相對定位(通過相對定位偏移後的元素仍然會堅守著它原來佔據的空間,不會讓文件流的其它元素乘虛而入),通過負邊距進行偏移的元素,它會放棄偏移前佔據的空間,這樣它後面文件流中的其它元素就會「流」過來填充這部分空間。

文件流只能是後面的流向前面的,即文件流只能向左或向上流動,不能向下或向右移動

lang="en">

charset="utf-8">

對普通文件流元素的影響title>

type="text/css">

.box

span

pstyle>

head>

class="box">塊狀元素,位置由文件流控制div>

行內元素,位置由文件流控制行內元素,位置由文件流控制行內元素,位置由文件流控制行內元素,位置由文件流控制span>

行內元素,位置由文件流控制行內元素,位置由文件流控制行內元素,位置由文件流控制行內元素,位置由文件流控制

div>

inline-block元素,位置由文件流控制p>

body>

html>

頁面效果

給所有元素設定負邊距

*

頁面效果

3、對浮動元素的影響

可以改變元素的布局顯示位置,某個元素即使是寫在了後面,但可以通過負邊距讓它在瀏覽器顯示的時候顯示在前面 (聖杯布局、雙飛翼布局利用此原理實現。)

lang="en">

charset="utf-8">

對浮動元素的影響title>

type="text/css">

div .one

.two

.three

style>

head>

class="one">元素一div>

class="two">元素二div>

class="three">元素三div>

body>

html>

頁面效果

4、對絕對定位元素的影響(做居中)

絕對定位的元素定義的top、right、bottom、left等值是元素自身的邊界到最近的已定位的祖先元素的距離,這個元素自身的邊界指的就是margin定義的邊界,所以,如果margin為正的時候,那它的邊界是向外擴的,如果margin為負的時候,則它的邊界是向裡收的。

必須知道定位元素的寬高才能設定margin值做居中

lang="en">

charset="utf-8">

對絕對定位元素的影響title>

type="text/css">

.a

style>

head>

class="a">

div>

body>

html>

頁面效果

理解margin負值

上和左方的margin負值使元素向上和左方向移動,如果該元素position不是absolute或fixed,這還會導致之後的元素也向上,左移 下和右方的margin負值會縮小下和右方的空間,使處於該元素下,右方的元素被拉向該元素,使之後的元素發生向上,左移,以至於與之重疊 由於margin在上下左...

margin負值5種應用

最近做的專案中經常會用到margin的負值,這裡就總結一下關於margin負值的5種使用及相關bug的解決。1.在流動性布局中的應用 如wordpress的兩欄式不固定布局就是使用margin負值來實現的定位,屬於左右margin負值在流動性布局中的應用。左側寬度固定 寬度自適應,啦啦啦。寬度自適應...

margin負值的應用總結

margin負值 之前一直 應用都是定位 和 列表的時候,從來沒有想著進行個總結,直到遇到了在專案中遇到了 乙個margin負值 但是寬度增加的問題 才想著研究下 margin負值的問題。現將網上找到資料和文章,加上自己理解整理如下 1.元素水平垂直居中 這個彈框要絕對居中啊 tips top和le...