我的水平菜单有这个CSS:
#nav>li {
float:left
}
#nav li:hover ul {
position:absolute;
display:block;
}
#nav {
margin:20px 0 0 0;
left:0;
width: 100%;
list-style:none;
}
#nav li a {
display: inline-block;
padding: 8px;
margin:0;
background: #666666;
border-top: 1px solid #EEEEEE;
border-bottom: 1px solid #EEEEEE;
text-decoration: none;
color: #EEEEEE;
width:80px;
border-right:1px solid #F36F25;
}
#nav li a:hover, #nav li a.active {
background: #F36F25;
color: #FFFFFF;
cursor:pointer;
}
#nav li ul {
display: none;
list-style:none;
margin:0;
}
#nav li ul li {
margin-top:0;
margin-right:0;
margin-bottom:0;
margin-left:-40px;
}
#nav li ul li a {
background: #EEEEEE;
color:#666666;
border:1px solid #EEEEEE;
width:145px;
}
#nav li ul li a:hover {
background: #EEEEEE;
color:#f36f25;
border:1px solid #f36f25;
}
我想为页面的100%宽度添加背景颜色,我尝试将background-color:#666666;
添加到
#nav
但是没有用,这里是完整代码的小提琴:http://jsfiddle.net/39Rdw/
我希望菜单的页面宽度为100%
答案 0 :(得分:2)
问题是<li>
下的#nav
标记向左浮动,这使得#nav
不会绕过它的内部内容。如果你将clearfix css添加到你的css并将这个类添加到你的#nav
'中它会强制它包裹内部内容并且应该给你你正在寻找的效果。
同样<li>
也包含在<ul>
标记中。您可能希望将<li>
中未包含的任何<ul>
更改为<div>
。
答案 1 :(得分:-1)
将其添加到CSS文件
body{
background:#666666;
width:100%;
}