今天整理了一下用css防止邊距重疊的幾種方法
先假設一組dom結構
<div class="parent"> <div class="child"> </div></div>
通常情況下,如果給子元素設置margin,就會產生這個屬性對父元素也產生了同樣的效果,然而
這其實不是我們想要的結果,我們只想對子元素設置margin,那么現在我們應該怎么做呢?
(1) 給父元素設置邊框
.parent { width: 300px; height: 300px; border: 1px solid #ccc;}.child { width: 200px; height: 200px; margin: 20px;}
(2)給父元素添加padding
.parent { padding: 1px; width: 300px; height: 300px;}.child { width: 200px; height: 200px; margin: 20px;}
(3)在子元素上方加一個有寬高的兄弟元素,記住是有寬高的。
<div class="parent"> <div style="width: 20px;height: 20px;margin-top: "></div> <div class="child"> </div></div>
(4)給父元素設置 overflow: hidden; 屬性
.parent { overflow: hidden; width: 300px; height: 300px;}.child { width: 200px; height: 200px; margin: 20px;}
(5)給子元素設置 display: inline-block;(如果子元素是行內元素或者行內塊級元素則不會產生邊距重疊的問題)
.parent { width: 300px; height: 300px;} .child { width: 200px; height: 200px; margin: 20px; display: inline-block;}
(6)使子元素脫離文檔流這個實現的方法有很多,浮動,絕對定位等,這里我就不做具體的解釋了。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VeVb武林網。
新聞熱點
疑難解答