【发布时间】:2015-04-27 18:31:10
【问题描述】:
我是新手 - 如果这是一个愚蠢的问题,我很抱歉。当我将鼠标悬停在下拉菜单选项上时,会出现子菜单,但子菜单的背景宽度为 100%,就像主菜单一样。我怎样才能改变它,使子菜单的宽度只有它起源的标签?
另外,对于混乱的编码表示歉意。我在玩 jquery,所以那里有一些不必要的标签......
这是 CSS 代码:
#menu {
float:left;
width:100%;
background-color:#f23918;
overflow:hidden;
position:relative;
}
#menu ul {
clear:left;
float:left;
list-style:none;
margin:0;
padding:0;
position:relative;
left:50%;
text-align:center;
}
ul li {
display:block;
float:left;
list-style:none;
margin:0;
padding:0;
position:relative;
right:50%;
}
li ul {
display: none;
}
ul li a {
display: block;
text-decoration: none;
font-weight: bold;
color: #ffffff;
white-space: nowrap;
background-color: #f23918;
text-align: center;
padding: 10px;
text-transform: uppercase;
}
ul li a:hover {
background: #f29c18;
}
li:hover ul {
display: block;
position: absolute;
}
li:hover li { /*Controls dropdowns*/
float: none;
font-size: 11px;
}
li:hover a { background: #f23918;
}
li:hover li a:hover
{
background: #f29c18;
}
这是 HTML 代码:
<div id="menu">
<ul id="navbar">
<li class="active"><a href="#"><span>Home</span></a></li>
<li class="has-sub"><a href="#"><span>Alpaca Wool Products</span></a>
<ul class="submenu">
<li><a href="#"><span>Fur Hats</span></a></li>
<li><a href="#"><span>Capes</span></a></li>
<li><a href="#"><span>Ponchos</span></a></li>
<li><a href="#"><span>Shawls</span></a></li>
<li class="last"><a href="#"><span>Scarves</span></a></li>
</ul>
</li>
<li class="has-sub"><a href="#"><span>Home Décor</span></a>
<ul class="submenu">
<li><a href="#"><span>Rugs</span></a></li>
<li><a href="#"><span>Tapestries</span></a></li>
<li><a href="#"><span>Throws</span></a></li>
<li><a href="#"><span>Upholstery</span></a></li>
<li class="last"><a href="#"><span>Teddy Bears</span></a></li>
</ul>
</li>
<li><a href="#"><span>About Us</span></a></li>
<li class="last"><a href="#"><span>Artisans</span></a></li>
</ul>
</div>
【问题讨论】:
标签: css drop-down-menu menu navigation width