0

我的主菜单下方出现了一个子菜单。主菜单是固定宽度,我希望子菜单是主菜单的 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>

谢谢!

4

2 回答 2

0

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

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

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

于 2013-09-14T15:22:39.977 回答
0

#nav li适用于 ALL liinside #nav,即使li是向下的几层。也就是说——li仍然考虑子菜单#nav li。要覆盖该规则,请设置#nav li liwidth:auto !important;或其他内容。

但是要完成(我认为)您真正想做的事情,请尝试添加以下内容:

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

#nav ul
{
display:table;
width:100%;
position:absolute;
top:30px;
}
于 2013-09-14T15:35:26.847 回答