gpt4 book ai didi

html - 带有嵌套列表的 CSS 多级菜单

转载 作者:太空宇宙 更新时间:2023-11-04 03:48:42 26 4
gpt4 key购买 nike

css menu illustration
(来源:torrent-invites.com)

我想制作如上图所示的纯 CSS 多级菜单。我尝试了一些教程,但它对我不起作用。菜单“xxxxx”和“yyyyy”出现在我下面的 CSS 代码的菜单“bbbbb”下方。

我要做的是像上图这样的三级菜单。

这是我的菜单 HTML:

<span id="nav">
<ul>
<li><a href="#">ssss</a>
<ul>
<li><a href="#">aaaaa</a></li>
<li><a href="#">bbbbb</a>
<ul>
<li>xxxxx</li>
<li>yyyyy</li>
</ul>
</li>
</ul>
</li>
<li><a href="#">ttttt</a></li>
<li><a href="#">uuuuu</a></li>
</ul>
</span>

这是我最小化的 CSS 代码:

li {
list-style:none !important;
}

#nav, #nav ul {
list-style: none;
padding:0;
margin:0;
}

#nav li {
line-height:20px;
float:left;
}

#nav li ul{
display:none;
}

#nav ul li ul {
margin-top:-3em;
margin-left:7em;
}

#nav ul li:hover ul {
z-index:99999;
display:list-item !important;
position:absolute;
margin-top:2px;
margin-left:0px;
padding: 5px 15px;
background: #8ac312;
}

#nav ul li:hover ul li {
float:none;
padding: 2px 0px;
}


#nav ul li:hover ul li > a:before {
content: '» ';
}

如能帮助我的 CSS 代码像上面的插图一样工作,我们将不胜感激。谢谢。

最佳答案

我认为你的问题是相对位置和绝对位置。我删除你的风格并自己做(更简单,更丑陋)。代码在这里 jsFiddle

代码是:

CSS:

ul { padding:0; margin:0;  }
li { list-style:none; }
li > ul { display: none; }
li:hover > ul { display: block; }
.lvl1 li { margin-right: 10px; display: inline; position:relative; }
.lvl2 { position: absolute; }
.lvl2 li { position: relative; }
.lvl3 { position: absolute; top:0px; left: 50px; }

HTML:

<span id="nav">
<ul class='lvl1'>
<li><a href="#">ssss</a>
<ul class='lvl2'>
<li><a href="#">aaaaa</a></li>
<li><a href="#">bbbbb</a>
<ul class='lvl3'>
<li>xxxxx</li>
<li>yyyyy</li>
</ul>
</li>
</ul>
</li>
<li><a href="#">ttttt</a></li>
<li><a href="#">uuuuu</a></li>
</ul>
</span>

关于html - 带有嵌套列表的 CSS 多级菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23722072/

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