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...