html - 在整个菜单栏中显示背景

标签 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

但这没有用,这里是完整代码的 fiddle :http://jsfiddle.net/39Rdw/

我希望菜单占页面宽度的 100%

最佳答案

问题是 <li>#nav 下标记向左浮动,保持 #nav从环绕它的内部内容。如果添加 clearfix css到你的CSS并将这个类添加到你的#nav '` 它将强制它环绕内部内容,并应为您提供您正在寻找的效果。

Fiddle

还有 <li>应该包裹在 <ul> 中标签。您可能想要更改任何 <li>它没有包裹在 <ul> 中到 <div> .

关于html - 在整个菜单栏中显示背景,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23689286/

相关文章:

css - 从 SVG 中删除 "padding"?

html - 我的页脚卡在顶部

css - 如何在响应式 CSS 网格中更 retrofit 订线宽度

javascript - 我的Bootstrap轮播不显示并显示一些JS错误

javascript - 如何确保工具提示停留在浏览器可见区域内?

html - 无法将表格布局转换为 DIV

html - 如何在保持宽高比的同时调整带标题的图像大小

javascript - 如何更新显示的变量

javascript - 使用 html5 canvas 的 JavaScript 中的鼠标单击事件

css - 我可以在选择器 : before and after for this example? 上同时使用两个 CSS 伪元素吗