您想要首先将margin
和padding
归零,因此您不再具有列表中固有的缩进。 (请注意,您应该通过一个班级来详细说明这一点,即ul class="horizontal"
)。
然后,浮动li
并给它一个相对于宽度(以像素或百分比)为宽度的宽度。但是,如果您想要绝对(例如,1px
)分隔,则在li
之间的margin
的计算对于百分比宽度可能更加困难。
编辑 - 我忘了给所有选择器添加.horizontal
类的最后一分钟添加。
并与全框效果:http://jsfiddle.net/MYLGv/9/
<ul class="horizontal">
<li>List Item</li>
<li>List Item</li>
<li>List Item</li>
<li>List Item</li>
<li>List Item</li>
<li>List Item</li>
<li>List Item</li>
<li>List Item</li>
<li>List Item</li>
</ul>
ul.horizontal,
ul.horizontal li {
margin: 0;
padding: 0;
}
ul.horizontal {
list-style-type: none;
width: 400px;
background: whiteSmoke;
overflow: auto;
margin: 0 auto;
}
ul.horizontal li {
float: left;
width: 99px;
height: 99px;
margin: 0 1px 1px 0;
text-align: center;
background: url(http://www.gravatar.com/avatar/e1122386990776c6c39a08e9f5fe5648?s=64&d=identicon&r=PG) center center no-repeat;
background-color: gray;
color: white;
}
http://jsfiddle.net/MYLGv/8/
我看到li:nth-child(4n){clear:left}在同一个网站中使用。但是那个让我困惑。 – Nerdysyntax 2012-03-02 16:40:34
让我们说,如果你有一个盛有液体的宽度和你,如果你想一定要始终显示4个项目每行,那么你应该指定一个规则,否则在一个固定宽度的容器,它是不是真的有必要 – fcalderan 2012-03-02 16:50:22
哦,gotcha。非常感谢。 – Nerdysyntax 2012-03-02 17:29:05