我有一个场景,我将多个 DIV 与 margin-top 和 margin-bottom 堆叠在一起,但是当我有 margin-top 时,我发现 margin-bottom 被忽略了。我无法解释它是如何发生的。
html
<div class='box'>
<div class='item'>1</div>
<div class='item'>2</div>
<div class='item'>3</div>
<div class='item'>4</div>
<div class='item'>5</div>
<div class='item'>6</div>
<div class='item'>7</div>
<div class='item'>8</div>
</div>
css
.box{
width:100%;
height:300px;
}
.item{
list-style: none;
display:block;
margin-top:20px;
margin-bottom:20px;
width:100%;
height:50px;
background-color:red;
}
如果我将项目设置为浮动:左,那么它能够正确禁用边距底部。
CSS by div 向左浮动
.item{
list-style: none;
float:left;
display:block;
margin-top:20px;
margin-bottom:20px;
width:100%;
clear:both;
height:50px;
background-color:red;
}
这是 jsfiddle链接以更好地说明它。用chrome和firefox测试。有人可以解释它是如何发生的吗?