我正在尝试创建一个水平UL,每行总共显示3个项目.棘手的部分是物品的宽度可以不同.例如:
<ul class="items">
<li>
<input type="checkbox" id="work" />
Work items
</li>
<li>
<input type="checkbox" id="shopping" />
Shopping
</li>
<li>
<input type="checkbox" id="financial" />
Financial Information & Tips
</li>
</ul>
Run Code Online (Sandbox Code Playgroud)
等等
我想这样做,所以它基本上就像使用一个表,每行总是显示3个项目,每个项目的复选框始终与文本在同一行.
我该怎么做?
这是我正在使用的当前代码,但它没有均匀显示项目,通常最后一个复选框在第1行结束,文本被推送到下一行.
ul.items
{
text-align: center;
list-style-type: none;
width: 400px;
}
ul.items li
{
display: inline;
}
Run Code Online (Sandbox Code Playgroud)
j08*_*691 14
尝试CSS nth-child选择器.无论宽度如何都可以工作.
我也删除了你的display:inline规则并将其替换为float:left;.
ul.items li:nth-child(3n+4) {
clear:left;
float:left;
}
Run Code Online (Sandbox Code Playgroud)
有关详细信息nth-child,请参阅https://developer.mozilla.org/en-US/docs/CSS/:nth-child