【发布时间】:2016-09-03 09:00:20
【问题描述】:
我想将我的lis 均匀地分布在一个列表下,所以我使用了display:table 技巧,但这只有在你只有一排展开的项目时才有用。从下图中可以看出,如果有 2 行,则第 2 行的项目将保持与第一行相同的宽度,这很好,但不再居中。如何让它居中? lis 的数量会动态变化,因此理想情况下,如果有超过 3 个 li,它会创建一个新行,并在必要时将第 2 行的 li(s) 居中。
HTML
<ul class="table">
<div class="table-row">
<li class="cell type type-water">water</li>
<li class="cell type type-ghost">ghost</li>
<li class="cell type type-ground">ground</li>
</div>
<div class="table-row">
<li class="cell type type-ice">ice</li>
</div>
</ul>
CSS
.table {
display: table;
width: 100%;
list-style: none;
table-layout: fixed;
}
.table-row {
display: table-row;
width: 100%;
list-style: none;
table-layout: fixed;
}
.cell {
display: table-cell;
text-align: center;
}
【问题讨论】:
-
您的列表无效。
div不能是ul的子代,而li只能出现在ul或ol中。