子菜单100%宽度的菜单

时间:2013-09-14 15:16:11

标签: javascript html css

我的主菜单下方有一个子菜单。主菜单是固定宽度,我想子菜单是主菜单的100%宽度。子菜单可以包含任意数量的链接,我希望子菜单的宽度按比例改变。这可能吗?这是我的代码:

Fiddle

CSS

#nav a{
width: 115px;
height: 15px;
text-decoration:none;
display:block;
font-size:12px;
font-family: Arial, Verdana, Helvetica, sans-serif;
text-align:center;
color:#666666;
border: 1px solid green;
float: right;
padding: 10px 5px 5px 5px;
z-index: 2000;
}

#nav a li{
width: 115px;
height: 15px;
}

#nav:last-child {
border-right: 1px solid #999999; 
}

#nav a:active, #nav a:hover, #nav a:focus {
background: #999 ;
}
#nav li { 
display:block;
float:left;
}
#nav li:last-child {
border-right: 1px solid #999999; 
}
#nav li ul { 
display: table;
height: 30px;
position: absolute;
left: -9999px;
}
#nav li:hover ul {
left: 0; 
top: 30px; 
}
#nav li li {
display: table-cell;
}
#nav li li a{
text-decoration:none;
display:block;
font-size:9px;
font-family: Arial, Verdana, Helvetica, sans-serif;
text-align:center;
border-left: 1px solid #999999; 
color:#666666;
z-index: 10000;
padding: 5px 5px 10px 5px;
}

HTML

<ul id="nav">
<li><a href="#">LINK1</a></li>
<li><a href="#">LINK2</a>
    <ul>
    <li><a href="#">LINK3 <br> MORE TEXT</a></li>
    <li><a href="#">LINK4</a></li>
    <li><a href="#">LINK5</a></li>
    <li><a href="#">LINK6</a></li>
    </ul></li>
<li><a href="#">LINK7</a></li>
<li><a href="#">LINK2</a>
    <ul>
    <li><a href="#">LINK3 <br> MORE TEXT</a></li>
    <li><a href="#">LINK4</a></li>
    <li><a href="#">LINK5</a></li>
    <li><a href="#">LINK6</a></li>
    <li><a href="#">LINK5</a></li>
    </ul></li>
</ul>

谢谢!

2 个答案:

答案 0 :(得分:0)

我不知道我是否理解这个问题。

您需要将两个菜单包装在div中。然后,如果subnav具有100%的宽度,它将采用该div的宽度。

你有链接吗?如果我能看到你在说什么,我可以进一步帮助你。

答案 1 :(得分:0)

#nav li适用于li内的所有#nav,即使li是多层下来也是如此。也就是说 - 子菜单li仍被视为#nav li。要覆盖该规则,请将#nav li li设置为width:auto !important;或其他内容。

但要完成你想要做的事情(我认为),请尝试添加:

#nav
{
width:660px;
position:relative;
}

#nav ul
{
display:table;
width:100%;
position:absolute;
top:30px;
}