今天整理了一下用css防止邊距重疊的幾種方法
先假設(shè)一組dom結(jié)構(gòu)
<div class="parent">
<div class="child">
</div>
</div>通常情況下,如果給子元素設(shè)置margin,就會(huì)產(chǎn)生這個(gè)屬性對(duì)父元素也產(chǎn)生了同樣的效果,然而
這其實(shí)不是我們想要的結(jié)果,我們只想對(duì)子元素設(shè)置margin,那么現(xiàn)在我們應(yīng)該怎么做呢?
(1) 給父元素設(shè)置邊框
.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)在子元素上方加一個(gè)有寬高的兄弟元素,記住是有寬高的。
<div class="parent">
<div style="width: 20px;height: 20px;margin-top: "></div>
<div class="child">
</div>
</div>(4)給父元素設(shè)置 overflow: hidden; 屬性
.parent {
overflow: hidden;
width: 300px;
height: 300px;
}
.child {
width: 200px;
height: 200px;
margin: 20px;
}(5)給子元素設(shè)置 display: inline-block;(如果子元素是行內(nèi)元素或者行內(nèi)塊級(jí)元素則不會(huì)產(chǎn)生邊距重疊的問題)
.parent {
width: 300px;
height: 300px;
}
.child {
width: 200px;
height: 200px;
margin: 20px;
display: inline-block;
}(6)使子元素脫離文檔流這個(gè)實(shí)現(xiàn)的方法有很多,浮動(dòng),絕對(duì)定位等,這里我就不做具體的解釋了。
新聞熱點(diǎn)
疑難解答
圖片精選