複数の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;
}
アイテムをfloat:leftに設定すると、margin-bottomを適切に無効にできます。
左に浮かぶdivによるCSS
.item{
list-style: none;
float:left;
display:block;
margin-top:20px;
margin-bottom:20px;
width:100%;
clear:both;
height:50px;
background-color:red;
}
これは、それをよりよく説明するためのjsfiddleリンクです。クロムとFirefoxでテスト済み。誰かがそれがどのように起こるか説明できますか?