我有一个无序的列表,我把它当作一个简单的导航栏,看起来像下面这样:
正如您所看到的,<li>
元素并没有一直与包含它们的<div>
的左侧对齐。我已经在包含<div>
的中尝试了text-align: left;
,但似乎没有效果。
#menu {
width: 800px;
margin: 0 auto;
}
#menu div {
float: left;
width: 400px;
height: 60px;
background-color: #CACACA;
}
#menutop {
text-align: left;
}
#menutop ul {
list-style: none;
}
#menutop li {
display: inline;
padding: 10px;
}
#menutop a {
color: #000000;
text-decoration: none;
}
#menutop a:hover {
text-decoration: underline;
}
<div id="menu">
<div id="menutop">
<ul>
<li><a href="#">Home</a></li>
<li><a href="#">About</a></li>
</ul>
</div>
有什么想法吗?
8条答案
按热度按时间9rnv2umw1#
默认情况下,
ul
和li
具有边距或填充,具体取决于浏览器。您需要在菜单中覆盖此默认样式:观看here演示
注:默认情况下,jsfiddles会重置CSS,所以并不总是很适合测试这类问题。在查找这类bug时,请确保禁用“标准化CSS”。
xwmevbvl2#
设置填充,边距0px,
Demo
http://jsfiddle.net/tQb75/
4dc9hkyq3#
你可以覆盖ul和li的填充和边距。
这个简单的代码:
guykilcj4#
请尝试使用**CSS Reset**。
最简单的形式是:
ar5n3qh55#
您可以删除菜单的边距和填充
sshcrbum6#
<ul>
元素左对齐,但是<li>
元素将padding-left
设置为10px
,这就是第一个元素稍微靠右的原因。yyyllmsg7#
我创建了一个文本左对齐的div,然后给这个div设置了- x auto。这样这个div就水平居中了。这个div里面的任何ul都自动左对齐并居中。我使用的是Bootstrap类。
vh0rcniy8#
我知道有一个公认的答案已经,但有人在那里引导一个更好的方法来做到这一点是扔这个李风格