在整个菜单栏中显示背景

时间:2014-05-15 21:48:13

标签: html css

我的水平菜单有这个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%

2 个答案:

答案 0 :(得分:2)

问题是<li>下的#nav标记向左浮动,这使得#nav不会绕过它的内部内容。如果你将clearfix css添加到你的css并将这个类添加到你的#nav'中它会强制它包裹内部内容并且应该给你你正在寻找的效果。

Fiddle

同样<li>也包含在<ul>标记中。您可能希望将<li>中未包含的任何<ul>更改为<div>

答案 1 :(得分:-1)

将其添加到CSS文件

 body{
   background:#666666;
   width:100%;
 }