我希望我的导航菜单位于中心,我尝试了在另一个类似问题中发布的方法但不适用于我..这里是fiddle
这是代码 HTML:
<div id="nav">
<ul>
<li><a href="#">Home</a></li>
<li><a href="#">Example</a></li>
<li><a href="#">Portfolio</a></li>
<li><a href="#">About Us</a></li>
<li><a href="#">Contact Us</a></li>
</ul>
</div>
CSS:
#nav {
background:#111212;
width: 100%;
height:55px;
float: left;
margin:0 auto;
padding:0;
font-size:125%;
}
#nav ul{
list-style: none;
width: 80%;
margin: 0 auto;
padding:0;
}
#nav li {
float:left;
}
#nav li a {
display:inline-block;
padding:17.5px 15px 17.5px 15px;
text-decoration: none;
font-weight: bold;
color: #438181;
}
#nav li a:hover {
color:#438181;
background-color:#fff;
}
答案 0 :(得分:6)
一种方法是将列表项更改为inline-block
而不是浮动它们,然后在块容器上应用text-align
中心,<ul>
- 例如。
#nav ul{
list-style: none;
width: 80%;
margin: 0 auto;
padding:0;
text-align: center;
}
#nav li {
display: inline-block;
}
答案 1 :(得分:2)
您可以在relative
和ul
项目上使用li
定位。首先将ul
50%置于左侧。然后,只要li
只占用他们需要的空间(非阻挡),就可以向右移动50%的宽度。
#nav ul {
position: relative;
left: 50%;
}
#nav li {
position: relative;
right: 50%;
}
答案 2 :(得分:0)
为了让浏览器在浮动元素时计算自动边距,它需要宽度。
#nav {
background:#111212;
height:55px;
padding:0;
font-size:125%;
}
#nav ul{
list-style: none;
width: 550px;
margin: 0 auto;
padding:0;
}