你有几个选择:
#ranks li {
float: left;
}
这会将您的所有列表项浮动到左侧,不换行,直到水平屏幕空间不再可用。或者,
#ranks li {
display: inline-block;
}
这也将使您的元素并排放置,但将它们作为块级元素处理。如果您不关心块级样式,则可以使用直接内联显示:
#ranks li {
display: inline;
}
它将像任何其他内联元素(例如<span>
or <a>
)一样对待列表项。
列表项及其列表父项上还存在一些其他固有样式,您可能需要取消这些样式。一定要签出margin
,和padding
。
演示:http: //jsbin.com/iconud/edit#html,live
向前看!
当您的列表项并排放置时,您可能会发现它们之间存在难看的间隙。这是内联列表的常见问题。一种解决方案是删除关闭和打开列表项标签之间的换行符空格:
<ul id="ranks"><li>
Index</li><li>
Contact</li><li>
Portfolio</li>
</ul>
或者让它们全部内联,不太明显:
<ul id="ranks">
<li>Index</li><li>Contact</li><li>Portfolio</li>
</ul>
这对眼睛来说有点难。使用 HTML,由于并不总是需要结束标签,因此您也可以不使用结束标签(尽管这让我有点紧张):
<ul id="ranks">
<li>Index
<li>Contact
<li>Portfolio
</ul>
多个列表也内联!
从 OP 的一些评论来看,他们似乎不仅试图将列表项内联,而且还会列出自己。如果是这种情况,请将上述相同的规则应用于列表本身:
#ranks,
#specs {
margin: 0;
padding: 0;
display: inline-block;
}
#ranks li,
#specs li {
display: inline-block;
border: 1px solid #CCC;
padding: 5px 10px;
}
这里已经使用搜索 id 和标签的选择器确定了两组规则。您可以通过将一个公共类应用于列表,或将选择器基于一个公共父元素来简化这一点。接下来是标记:
<ul id="ranks">
<li>Index</li>
<li>Contact</li>
<li>Portfolio</li>
</ul>
<ul id="specs">
<li>Foo</li>
<li>Bar</li>
</ul>
这导致两个列表及其项目都以水平方式显示。
演示:http: //jsbin.com/iconud/2/edit