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