【发布时间】:2014-04-07 17:42:17
【问题描述】:
水平和垂直列表项之间的空间看起来不同,即使两个布局的边距、填充、高度和宽度完全相同。我希望它们相同,我知道我可以手动调整边距或填充,但为什么它们不一样,有没有简单的方法来保持它们一致?谢谢。
HTML
<ul class="horizontal">
<li></li>
<li></li>
<li></li>
</ul>
<div class="clear"></div>
<ul class="vertical">
<li></li>
<li></li>
<li></li>
</ul>
CSS
ul li {
padding: 0;
margin: 10px;
width: 13px;
height: 13px;
background: #333333;
border-radius: 50%;
}
.horizontal li {
float: left;
}
【问题讨论】:
-
我猜这与保证金崩溃有关。如果您删除边距,您会得到:jsfiddle.net/Paulie_D/3ZbkQ/1
-
就像上面的 cmets 中提到的,它与折叠边距有关。在CSS-Tricks 上阅读有关边距(和折叠)的更多信息
-
顺便说一句,当您将
float:left样式应用于水平列表时,这意味着这两个列表是不同的,与您描述的不同。这就是你的问题发生的原因。一个列表是浮动元素,另一个是内联元素,浮动元素不受边距折叠规则的影响。