我有一个div
包含几个section
s。其中一个section
s 包含一个ol
,并且它的所有li
s 都向左浮动。我试图使ol
收缩在一条线上包含尽可能多li
的 s ,并水平居中ol
同时保持li
s 左对齐。
这就是我所拥有的: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;
}
当li
s 都可以放在一行上时,列表居中:
当li
s 落在第二行时,section
andol
增长并且整个事情是左对齐的:
我试图让它看起来像这样(取决于可用的宽度,section
必要时也可以缩小):
设置宽度或最大宽度并使用margin: auto
也不太有效:http: //jsbin.com/ocokog/6/edit
为什么不ol
缩水?我怎样才能解决这个问题?
这些问题相似但不同:
- 在 div 或其 <ul> 内居中浮动列表项 <li> - 在接受的答案中,所有列表项都居中
- 我可以将 <ul> 与左对齐的 <li> 居中吗?- 每个项目都有自己的行