以下是我的<li>
元素。我希望它们从左到右而不是从上到下显示。
<div class="nav">
<ul>
<li><a href="test">test</a></li>
<li><a href="test">test</a></li>
<li><a href="test">test</a></li>
<li><a href="test">test</a></li>
<li><a href="test">test</a></li>
</ul>
</div>
我该怎么做?
编辑:如何控制每个li元素与其bachground颜色之间的间距以及li元素与元素边界之间的间距?
答案 0 :(得分:21)
我认为你在寻找
li {
display:inline;
}
答案 1 :(得分:6)
有几种方法。
一种方式是显示:内联其他帖子提及
另一种方式是float:left;
编辑:更详细!在页面中试试这个
<style>
/* style 1 */
div.nav1 ul li
{
display:inline;
border: solid 1px black;
padding: 10px;
margin: 10px;
list-style-type: none;
line-height: 4em;
}
/* style 2 */
div.nav2 ul li
{
float: left;
border: solid 1px black;
padding: 10px;
margin: 10px;
list-style-type: none;
}
</style>
<h1>using display: inline;</h1>
<div class="nav1">
<ul>
<li><a href="#">inline</a></li>
<li><a href="#">inline blah bla</a></li>
<li><a href="#">i am not so neat on</a></li>
<li><a href="#">inline</a></li>
<li><a href="#">wrapping and I probably</a></li>
<li><a href="#">inline</a></li>
<li><a href="#">need a bit of work and tweaking</a></li>
<li><a href="#">inline</a></li>
<li><a href="#">the "line-height" css property</a></li>
<li><a href="#">inline</a></li>
<li><a href="#">to make me wrap better</a></li>
<li><a href="#">inline</a></li>
<li><a href="#">also notice how i tend to break a line up into .. two. see? make your browser narrow.</a></li>
<li><a href="#">inline</a></li>
</ul>
</div>
<hr />
<h1>using float:left;</h1>
<div class="nav2">
<ul>
<li><a href="#">floated left</a></li>
<li><a href="#">i tend to behave</a></li>
<li><a href="#">floated left</a></li>
<li><a href="#">better for wrapping</a></li>
<li><a href="#">floated left</a></li>
<li><a href="#">when the list</a></li>
<li><a href="#">floated left</a></li>
<li><a href="#">reaches the edge of the page</a></li>
<li><a href="#">floated left</a></li>
</ul>
</div>
答案 2 :(得分:4)
尝试:
<style>
.nav li {display:inline;}
</style>
<div class="nav">
<ul>
<li><a href="test">test</a></li>
<li><a href="test">test</a></li>
<li><a href="test">test</a></li>
<li><a href="test">test</a></li>
<li><a href="test">test</a></li>
</ul>
</div>
样式应该在外部样式表中,为了简单起见,我只是将它们放在页面上。
答案 3 :(得分:4)
您可以使用float属性:
.nav ul li{float:left;}
答案 4 :(得分:1)
只是为了让你知道,当你将列表项浮动到左边时,IE会做一个“降压”的事情,而且我认为IE是唯一能够做到这一点的浏览器,所有其他浏览器都是直截了当的。要让列表项直接进行,请在css中使用“display:inline”而不是“float:left”,这应该适用于所有浏览器。有关详细解释,请查看此quick tutorial
答案 5 :(得分:1)
.nav li { display: inline }
有关详细信息和灵感,请查看Listamatic。他们有大量优秀的教程,包括逐步解释以及有关边距,填充和浏览器兼容性问题的所有内容。
答案 6 :(得分:0)
在编辑后回答问题:
li {
float: left;
display: block;
padding: 4px 12px; /* example spacing */
margin: 0px 4px; /* example margin */
}
编辑:您可能希望将padding和display:block应用于&lt; a&gt;元素,以便您也可以单击填充:
li {
float: left;
margin: 0px 4px; /* example margin */
}
li a {
display: block;
padding: 4px 12px; /* example spacing */
}
答案 7 :(得分:0)
您可以使用display: inline
,如下所示:
li{
display: inline;
}
或者,如果您有更多列表,则可以为该特定列表分配一个类:
<ul class="navbar horizontal">
<li>Test</li>
</ul>
然后设置样式:
.horizontal{
display: inline;
}