【发布时间】:2010-10-08 04:45:45
【问题描述】:
我想在 2/3 等间距的列中布置如下列表
<ul>
<li>one<li>
<li>two<li>
<li>three<li>
<li>four<li>
<li>five<li>
<li>six<li>
<li>seven<li>
<li>eight<li>
<li>nine<li>
</ul>
一种解决方案是将列表分成两个列表并将其中一个向右浮动,可能带有边距,例如
<div id="col2">
<ul>
<li>one<li>
<li>two<li>
<li>three<li>
<li>four<li>
<li>five<li>
</ul>
</div>
<ul>
<li>six<li>
<li>seven<li>
<li>eight<li>
<li>nine<li>
</ul>
#col2 {
float: right;
margin-right: 450px;
}
这行得通,但有许多缺点:
- (Un)semantic markup - 它不是真正的 2 个列表,我将一个列表分成 2 个,只是为了更容易设置样式
- 必须手动设置边距,使其看起来均匀分布
- 如果浏览器足够窄,右侧的列将运行到第二列。
有没有更好的方法来做到这一点,最好不使用表格?
更新:
我尝试了Method 1,但我看到了一些奇怪的结果。如果您查看此3-column list,您会发现前两列中有“漏洞”。知道为什么吗?
【问题讨论】:
-
你给物品定了高度吗?