gpt4 book ai didi

css - 如何使下拉菜单宽度与选项卡大小相同?

转载 作者:行者123 更新时间:2023-11-28 11:08:17 25 4
gpt4 key购买 nike

我是新手 - 如果这是一个愚蠢的问题,我深表歉意。当我将鼠标悬停在下拉菜单选项上时,会出现子菜单,但子菜单的背景宽度为 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>

最佳答案

好的。这里是锻炼。可能存在更好的解决方案。

首先你需要给div#menu一个固定的高度。另外我认为你不需要在那里漂浮。移除隐藏的溢出和相对位置。

 #menu {
width:100%;
background-color:#f23918;
height: 38px;
}

然后为子菜单添加以下内容

li ul {
display: none;
min-width: 100%;
white-space: nowrap;
}

最后一个解决方案实际上记入了https://stackoverflow.com/a/13775531/2120162

在这里您可以找到它的外观。 https://jsfiddle.net/theprog/3h8wpx97/1/

更新:固定移动部件。谢谢@dowomenfart

li ul {
display: none;
min-width: 100%;
white-space: nowrap;
position:absolute !important;
z-index: 100;
}

关于css - 如何使下拉菜单宽度与选项卡大小相同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28724522/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com