我正在尝试创建二级下拉列表。我成功创建了第一级下拉列表,但有点陷入使其达到2级。请协助我完成它..
并且请解释我,我正在做的错误,即使css部分很好,我也无法获得二级下拉(我认为是这样)
编辑:我知道dropdown css上有很多教程。但我想知道为什么这不起作用。
以下是 jsbin
的链接HTML
<ul id="nav">
<li>Home</li>
<li>Details
<ul id="subNav">
<li>x details<li>
<li>y details</li>
</ul></li>
<li>About Us
<ul id="xSubNav">
<li>About company
<ul>
<li>full information</li>
<li>summary</li>
</ul></li>
<li>About Author</li>
</ul></li>
</ul>
CSS
*{font-family:consolas;}
li{line-height:20px;}
ul#nav>li{float:left;width:100px;list-style:none;
cursor:hand;cursor:pointer;}
ul#nav li li
{display:none;width:150px;}
ul#nav li ul
{padding:0;margin:0;}
ul#nav>li:hover>ul>li
{display:block;}
ul#nav>li:hover{color:grey;}
ul li li{color:black;}
ul li li:hover
{color:cornflowerblue;}
ul li li:hover li /* level 2 dropdown part */
{display:block;margin-left:150px;width:300px;}
答案 0 :(得分:2)
以下是您的代码
的解决方案只需添加以下css:
ul ul li { position:relative;}
ul ul li ul { position:absolute; display:none; left:0px; top:0px;}
ul ul li:hover ul { display:block;}
ul#nav li li li {display:block;}
检查此工作fiddle
答案 1 :(得分:1)
问题是CSS规则的特殊性。只需将#nav添加到最后三个规则中,不要被第一个规则覆盖。
ul#nav li li{color:black;}
ul#nav li li:hover
{color:cornflowerblue;}
ul#nav li li:hover li
{display:block;margin-left:150px;width:300px;}
我认为还需要进行其他调整,但这就是主意。