<ul>
标头不是从容器最大宽度开始的。我添加了文本以显示容器的位置,为什么菜单不也从那里开始?
https://codepen.io/audn/pen/LLvdGb
ul.menu {
list-style-type: none;
margin: 0;
overflow: hidden;
background-color:#1f3647;
width:100%;
color:#798892;
}
.active{
background-color: #101d26;
}
li.menu {
float: left;
}
li.menu a {
display: block;
color:#798892 ;
padding: 20px 20px;
text-decoration: none;
}
li a:hover {
background-color: #101d26;
}
.container{
max-width:750px;
margin-left:auto;
margin-right:auto;
}
<link href="https://fonts.googleapis.com/icon?family=Material+Icons"
rel="stylesheet">
<div class="container">
nboi
</div>
<ul class="menu">
<div class="container">
<li class="menu"><a href="#"><i class="material-icons"></i></a></li>
<li class="menu"><a href="#"><i class="material-icons"></i></a></li>
<li class="menu"><a href="#"><i class="material-icons"></i></a></li>
<li class="menu"><a href="#"><i class="material-icons"></i></a></li>
<li class="menu" style="float:right;"><a href="#"><i class="material-icons"></i></a></li>
</ul>
</div>
您不能将div
作为ul
的直接子级。只需将菜单包装在一个元素中,将background-color
应用于该元素,使颜色将是窗口的宽度,然后将.container
添加到您的ul
中以将其居中到您的视口宽度,并添加padding: 0
以删除ul
上的默认左填充。
ul.menu {
list-style-type: none;
overflow: hidden;
color: #798892;
padding: 0;
}
.menuContainer {
background-color: #1f3647;
}
.active {
background-color: #101d26;
}
li.menu {
float: left;
}
li.menu a {
display: block;
color: #798892;
padding: 20px 20px;
text-decoration: none;
}
li a:hover {
background-color: #101d26;
}
.container {
max-width: 750px;
margin-left: auto;
margin-right: auto;
}
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
<div class="container">
nboi
</div>
<div class="menuContainer">
<ul class="menu container">
<li class="menu"><a href="#"><i class="material-icons"></i></a></li>
<li class="menu"><a href="#"><i class="material-icons"></i></a></li>
<li class="menu"><a href="#"><i class="material-icons"></i></a></li>
<li class="menu"><a href="#"><i class="material-icons"></i></a></li>
<li class="menu" style="float:right;"><a href="#"><i class="material-icons"></i></a></li>
</ul>
</div>
注意:不允许将
block
元素作为子元素放入inline
元素中。
但其他错误:
1(您将.container
限制为750px
删除它:
.container {
max-width:750px;<------------Remove
margin-left:auto;
margin-right:auto;
}
2(插入padding:0
到ul.menu
:
ul.menu {
padding:0;
//more code...
}
演示