正確理解CSS中的margin合併

2021-08-16 20:29:10 字數 1110 閱讀 4623

最近在學習很多開發過程中容易忽悠但是又很重要的知識點,很多時候用的少不代表它不重要,這裡將它們寫出來以記錄,如果有寫的不好的地方請指正。

margin合併是指塊級元素的上外邊距與下外邊距有時會合併為單個外邊距,有兩點需要理解。

1. 在塊級元素中,不包括浮動和絕對定位元素

2. 只發生在和當前文件流方向的相垂直的方向上

p 

第一行p>

第二行p>

因為第一行和第二行的元素合併在一起,所以他們的間距還是1rem,而並非上下相加。

.div2

class="div1">

class="div2">div>

div>

由於父級和子級元素的合併,所以頂部的margin為10px,而不是20px。

div2

class="div1">

class="div2">div>

div> 這個

元素的margin-top和margin-bottom合併在一起,所以高度只有1rem。

這裡的解決方法我們分為三種情況來討論,第一種就是解決兄弟元素之間的margin合併情況。

我們可以使用設定浮動元素來解決,例如:

p 

第一行p>

第二行p>

第二種是父級和子元素之間的margin合併,我們使用overflow屬性來解決,例如:

margin-top: 10px;

overflow: hidden;

}.div2

class="div1">

class="div2">div>

div>

當然,我們還可以通過設定父元素為塊狀格式化上下文元素、設定border、padding等方式來解決問題。

第三種情況就是空塊級元素的合併,一般為空塊級元素設定乙個高度就能夠避免margin合併的問題。

div2

class="div1">

class="div2">div>

div>

css中的margin合併是為了更好地進行**資訊展示而設計的,為了保證**資訊排版的舒服自然。我們不僅要理解它們存在的意義,而且要合理的運用它們。

正確理解CSS中的margin合併的用法

前言 最近在學習很多開發過程中容易忽悠但是又很重要的知識點,很多時候用的少不代表它不重要,這裡將它們寫出來以記錄,如果有寫的不好的地方請指正。概念margin合併是指塊級元素的上外邊距與下外邊距有時會合併為單個外邊距,有兩點需要理解。場景一 相鄰兄弟元素margin合併 p 第一行第二行 因為第一行...

正確理解 clear both

要注意以下幾點 1 浮動元素會被自動設定成塊級元素,相當於給元素設定了display block 塊級元素能設定寬和高,而行內元素則不可以 2 浮動元素後邊的非浮動元素顯示問題。3 多個浮動方向一致的元素使用流式排列,此時要注意浮動元素的高度。4 子元素全為浮動元素的元素高度自適應問題。以下詳細分析...

正確理解 clear both

原文 要注意以下幾點 1 浮動元素會被自動設定成塊級元素,相當於給元素設定了display block 塊級元素能設定寬和高,而行內元素則不可以 2 浮動元素後邊的非浮動元素顯示問題。3 多個浮動方向一致的元素使用流式排列,此時要注意浮動元素的高度。4 子元素全為浮動元素的元素高度自適應問題。以下詳...