我有一个包含 n li 元素的列表,并且父 ul 元素有一个最大高度规则。我想要的是在 li 元素溢出 ul 元素时扩展 ul 的宽度。
假设我有 20 个 li 元素,每个元素的高度为 20px,最大高度值为 100px。在这种情况下,ul 元素必须有 20/(100px/20px)=4 列。
当我有一个固定的宽度值时,CSS 会自动扩展 ul 的高度,但在固定高度下,我找不到任何方法来扩展其宽度相对于 li 元素的数量。
我尝试了具有明确规则的 nth-child 选择器,但它不起作用:http: //jsfiddle.net/Rhm9f/
<ul>
<li>test</li>
<li>test</li>
<li>test</li>
<li>test</li>
<li>test</li>
<li>test</li>
<li>test</li>
<li>test</li>
<li>test</li>
<li>test</li>
<li>test</li>
<li>test</li>
<li>test</li>
<li>test</li>
</ul>
CSS部分:
ul li {
width:50px;
background:#eee;
list-style:none;
float:left;
}
div {
width:200px;
overflow:hidden;
border:1px solid red;
}
ul {
max-height:100px;
overflow:auto;
width:auto;
position:absolute;
border:1px solid gray
}
ul li:nth-child(5n+1) {
background:red;
clear:both
}
在CSS中有什么可以做的吗?