n li 要素を含むリストがあり、親の ul 要素には max-height ルールがあります。私がしたいのは、li要素がul要素をオーバーフローしたときにulの幅を広げることです。
それぞれ 20 ピクセルの高さの 20 個の li 要素があり、最大高さの値が 100 ピクセルであるとします。この場合、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でそのようなことをすることはありますか?