我有一个2到5个元素的li
,具体取决于页面的呈现方式。我希望第一行显示在一行上,居中,然后其余的那些以下一行为中心。
-----------------
| |
| ONE |
| TWO THREE FOUR |
| |
-----------------
我已经得到了我想要的第一个,但我无法让第二行的那些移动。
这是我的小提琴:http://jsfiddle.net/dkzxfcb0/
如果可能的话,我想完全摆脱包装div,但这在我的优先级列表中非常低。
答案 0 :(得分:1)
将text-align: center
添加到父ul
元素,然后将所有子元素li
元素inline-block
。将第一个孩子设置为display: block
,将其放在单独的一行。
ul {
list-style: none;
padding-left: 0;
text-align: center;
}
li {
margin-right: 5px;
display: inline-block;
}
li:first-child {
display: block;
}

<ul>
<li>One</li>
<li>Two</li>
<li>Three</li>
<li>Four</li>
</ul>
&#13;
答案 1 :(得分:0)
加你李:
display: inline-block;
width: 33.333%
和li:nth-child(1)
width: 100%;
这应该有效
答案 2 :(得分:0)
我可以问你为什么要使用一个列表来构建更像表格的东西吗?
这样的工作:
<table>
<tr>
<th colspan="3">One</th>
</tr>
<tr>
<td>Two</td>
<td>Three</td>
<td>Four</td>
</tr>
</table>
答案 3 :(得分:0)
您可以在display: table;
上使用ul
并制作li
元素display: inline-block;
。 li:first-child
应为display: block;
以推送其他li
元素。
<强> My fiddle 强>
<强> CSS 强>
ul {
display: table;
list-style: none;
-moz-padding-start: 0px;
-webkit-padding-start: 0px;
}
li {
display: inline-block;
margin-right: 5px;
}
li:first-child{
display: block;
text-align: center;
}