邊距重疊問題

2021-09-02 03:46:38 字數 662 閱讀 4869

1:在布局的時候會碰見子元素設定邊距影響父元素的情況,對已經布局好的介面產生影響。

.parent

.child

正常情況下

當給child類新增margin: 20px;屬性之後,檢視變成

父元素同時也margin影響

解決方法:

1:給父元素設定邊框:border:1px solid #ccc;

2:給父元素設定padding屬性,注意padding不能為0。

3:給子元素新增乙個有寬高的同胞元素。

注意新增該同胞元素後高度會出現相加的問題(此時child距離頂部30px),此時可以改變子元素的margin-top的大小來達成需要的高度。

4:父元素設定屬性overflow: hidden;

5:將子元素轉換成行內元素或者行內塊級元素,display: inline-block;

6:使用浮動,絕對定位等脫離文件流

邊距重疊與BFC

邊界重疊是指兩個或多個盒子 可能相鄰也可能巢狀 的相鄰邊界 其間沒有任何非空內容 補白 邊框 重合在一起而形成乙個單一邊界。兩個或多個塊級盒子的垂直相鄰邊界會重合,它們的邊界寬度是相鄰邊界寬度中的最大值。注意水平邊界是不會重合的。父子元素的邊界重疊 以為期待的效果 而實際上效果如下 在這裡父元素的高...

BFC邊距重疊解決方案

bfc 定義 bfc block formatting context 直譯為 塊級格式化上下文 它是乙個獨立的渲染區域,只有block level box參與,它規定了內部的block level box如何布局,並且與這個區域外部毫不相干。bfc布局規則 原理 內部的box會在垂直方向,乙個接乙...

雙邊距重疊問題

行元素 不會獨佔一行,width和height會失效,並且在垂直方向的padding和margin也會失效。塊元素 佔據一行,並且自動填滿父元素,可以設定margin,padding,高和寬。多個相鄰,普通流的塊元素垂直方向的margin重疊。html 第乙個盒子 第二個盒子 css div1 di...