論負(fù)margin對(duì)浮動(dòng)元素的影響

本文版權(quán)歸鄭哲明和饑人谷所有,轉(zhuǎn)載請(qǐng)注明來(lái)源


keywords: 負(fù)margin、浮動(dòng)元素。


預(yù)警:下文僅僅是本人猜想,歡迎拍磚。

我們都知道,負(fù)margin可以使元素或其相鄰元素(右邊或下面)移動(dòng),但具體為什么會(huì)產(chǎn)生這種現(xiàn)象呢?瀏覽器是又如何處理負(fù)margin的?只有清楚了這兩個(gè)問(wèn)題,才能明白負(fù)margin對(duì)浮動(dòng)元素的影響,比如:

負(fù)margin對(duì)浮動(dòng)元素的影響

看起來(lái),浮動(dòng)元素脫離普通文檔流之后,似乎彼此間形成了通路,相互間可以利用負(fù)margin移動(dòng)。


負(fù)margin對(duì)浮動(dòng)元素的影響.gif

但其中的原理真的是這樣嗎?

在瀏覽器中,最重要的概念莫過(guò)于盒模型,任何元素都會(huì)有一個(gè)盒子,可以這樣說(shuō),瀏覽器渲染出的頁(yè)面只不過(guò)是一群盒子的有序排列而已。我們知道,一個(gè)盒子包括這樣幾個(gè)部分:margin、border、padding、content。

無(wú)論是行內(nèi)元素還是塊級(jí)元素、浮動(dòng)元素等,它們的盒子本質(zhì)上沒(méi)有什么區(qū)別。一個(gè)元素所占據(jù)的空間就是盒子所占據(jù)的空間。因此,負(fù)margin移動(dòng)元素的原理也就水落石出了:負(fù)margin會(huì)縮小或擴(kuò)大盒子所占據(jù)的空間。

當(dāng)元素使用負(fù)margin-left:


負(fù)marign-left.gif

盒子空間減少,當(dāng)然就向右移動(dòng),挨著包含塊的邊框排列了,但同時(shí),元素的寬高沒(méi)變,因此視覺(jué)上看,元素的大小沒(méi)有變化。其余負(fù)marign同理。

負(fù)margin對(duì)浮動(dòng)元素的影響也逃脫不了上述原理,就不具體演示了。

這里提示一點(diǎn),負(fù)margin-left與負(fù)margin-right有些許不同(top和bottom同理):
負(fù)margin-left無(wú)下限,負(fù)margin-right有下限,為盒子的原始大小。
至于兩者移動(dòng)方向的區(qū)別,我想,也比較好理解。

另外,如果元素寬度不固定,而是平鋪整行,使用負(fù)margin會(huì)擴(kuò)大內(nèi)容寬度。

lazy:(……………………

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 問(wèn)答題47 /72 常見(jiàn)瀏覽器兼容性問(wèn)題與解決方案? 參考答案 (1)瀏覽器兼容問(wèn)題一:不同瀏覽器的標(biāo)簽?zāi)J(rèn)的外補(bǔ)...
    _Yfling閱讀 14,126評(píng)論 1 92
  • 1.浮動(dòng)元素有什么特征?對(duì)父容器、其他浮動(dòng)元素、普通元素、文字分別有什么影響? 何謂浮動(dòng)元素?有什么特征?所謂浮動(dòng)...
    草鞋弟閱讀 928評(píng)論 0 1
  • css中的負(fù)邊距(negative margin)是布局中的一個(gè)常用技巧,只要運(yùn)用得合理常常會(huì)有意想不到的效果。很...
    studystudy閱讀 1,240評(píng)論 0 0
  • relative:生成相對(duì)定位的元素,通過(guò)top,bottom,left,right的位置相對(duì)于其正常位置進(jìn)行定位...
    zx9426閱讀 1,074評(píng)論 0 2
  • 目錄 內(nèi)容 一. 我對(duì)標(biāo)簽、元素、盒子的理解 相信很多人和我之前一樣,對(duì)于web的許多概念也都知道是什么意思,大家...
    科研者閱讀 778評(píng)論 2 2

友情鏈接更多精彩內(nèi)容