CSS margin重疊現象

2021-08-15 22:40:19 字數 990 閱讀 9468

margin重疊現象:相鄰的普通元素,上下邊距,並不是簡單的相加,而是取其中較大的邊距值。

1.水平邊距永遠不會重疊

2、在規範文件中,2個或以上的塊級盒模型相鄰的垂直margin會重疊。最終的margin值計算方法如下:

a、全部都為正值,取最大者;

b、不全是正值,則都取絕對值,然後用正值減去最大值;

c、沒有正值,則都取絕對值,然後用0減去最大值。

注意:相鄰的盒模型可能由dom元素動態產生並沒有相鄰或繼承關係。

3、相鄰的盒模型中,如果其中的乙個是浮動的(float),垂直margin不會重疊,並且浮動的盒模型和它的子元素之間也是這樣。

4、設定了overflow屬性的元素和它的子元素之間的margin不被重疊(overflow取值為visible除外)。

5、設定了絕對定位(position:absolute)的盒模型,垂直margin不會被重疊,並且和他們的子元素之間也是一樣。

6、設定了display:inline-block的元素,垂直margin不會重疊,甚至和他們的子元素之間也是一樣。

7、如果乙個盒模型的上下margin相鄰,這時它的margin可能重疊覆蓋(collapse through)它。在這種情況下,元素的位置(position)取決於它的相鄰元素的margin是否重疊。

a、如果元素的margin和它的父元素的margin-top重疊在一起,盒模型border-top的邊界定義和它的父元素相同。

b、另外,任意元素的父元素不參與margin的重疊,或者說只有父元素的margin-bottom是參與計算的。如果元素的border-top非零,那麼元素的border-top邊界位置和原來一樣。

乙個應用了清除操作的元素的margin-top絕不會和它的塊級父元素的margin-bottom重疊。

注意,那些已經被重疊覆蓋的元素的位置對其他已經重疊的元素的位置沒有任何影響;只有在對這些元素的子元素定位時,border-top邊界位置才是必需的。

8、根元素的垂直margin不會被重疊。

css margin重疊的問題

margin 20px margin 20px 重疊 藍色的上20邊距與灰色背景div的20上邊距重疊 藍色方塊的下20畫素邊距與紅色方塊的上20畫素布局重疊 紅色方塊的20畫素的下邊距與灰色盒子的20畫素下邊距重疊。由於ie瀏覽器和非ie瀏覽器兩大陣營對處理margin重疊問題上有較大差異,所以解...

margin重疊現象

margin重疊現象 研究 在網頁頁面布局中,經常會出現以下兩種現象 1 相鄰的兩個普通元素,上下邊距,不是簡單的相加,而是取邊距較大者的元素的邊距值。如例1 2 關係為父子的兩個div元素,豎直方向上如果兩個元素都設有margin值,則會取margin值較大的元素的邊距值。如例2 例1 html ...

CSS margin縱向重疊和負值問題

相鄰元素的margin top和margin bottom會發生重疊 空白內容的 也會重疊 如下 lang en charset utf 8 name viewport content width device width,initial scale 1.0 documenttitle p styl...