我的主菜单下方有一个子菜单。主菜单是固定宽度,我想子菜单是主菜单的100%宽度。子菜单可以包含任意数量的链接,我希望子菜单的宽度按比例改变。这可能吗?这是我的代码:
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>
谢谢!
答案 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;
}