私はdivいくつかの を含むを持っていsectionます。の 1 つに がsection含まれておりol、そのすべてliの が左にフロートされています。ol1行にできるだけ多くのsを含むように縮小し、 sを左揃えに保ちながらli水平方向に中央揃えにしようとしています。olli
ここに私が持っているものがあります: http://jsbin.com/ocokog/1/edit
<div id="wrapper">
<section id="section">
<ol id="list">
<li id="i0"></li>
<li id="i1"></li>
<li id="i2"></li>
<li id="i3"></li>
<li id="i4"></li>
</ol>
</section>
</div>
非装飾的な CSS:
#wrapper {
width: 85%;
text-align: center;
}
#section {
display: inline-block;
}
#list {
list-style-type: none;
margin: 0;
padding: 0;
overflow: auto;
}
#list > li {
width: 100px;
height: 100px;
float: left;
}
s がすべて 1 行に収まる場合li、リストは中央に配置されます。
lis が 2 行目に入ると、andsectionがol成長し、全体が左揃えになります。
私はそれを次のようにしようとしています (利用可能な幅に応じて、section必要に応じて縮小することもできます):
幅または最大幅を設定して使用してmargin: autoもうまくいきません: http://jsbin.com/ocokog/6/edit
なぜol収縮しないのですか?どうすればこれを修正できますか?
これらの質問は似ていますが、異なります。
- フローティング リスト項目 <li> を div またはその <ul> 内にセンタリングする- 受け入れられた回答では、すべてのリスト項目がセンタリングされます
- 左揃えの <li> で <ul> を中央に配置できますか? - 各アイテムには独自のラインがあります