HTML
<div class='parent'>
<div class='child'>
Hi
</div>
</div>
CSS
.parent {
background-color: #e5e5e5;
}
.child {
background-color: #999999;
margin: 20px;
}
当渲染时,子div上的上边距和下边距丢失。
将以下样式应用于.parent
类后,边距重新出现。这是为什么?
.parent {
margin: -1px;
padding: 1px;
}
答案 0 :(得分:2)
在某些情况下,顶部和底部边距会折叠。您可以阅读更多相关信息Font Awesome Website。发生了什么:
如果没有边框,填充,内联零件,块格式化上下文创建或清除以将块的边距顶部与其第一个子块的边缘顶部分开,那么这些边距会崩溃。折叠的保证金最终在父母之外。
答案 1 :(得分:0)
嘿如果我理解正确,你必须向父元素添加填充,而不是给子元素赋予边距。然后你会得到你想要的结果。
.o
或者您可以将添加溢出属性添加到父元素
.parent {
background-color: #e5e5e5;
padding: 20px;
}
.child {
background-color: #999999;
}
答案 2 :(得分:0)