我有一个问题,根据我在其他地方看到的情况,我的 child 的 ul li 不会像他们应该的那样行事。 我关注了足够多的线程来创建该问题,并且我已经调试了 3 天多,但我无法指出问题所在。 图片很好地说明了问题:
http://i.imgur.com/89taMII.jpg
<nav id="main-nav" class="main-nav">
<ul>
<li><a href="#">Home</a></li>
<li><a href="#">Dropdown ↓ </a>
<ul id="sublist">
<li><a href="#">Tomorrow</a></li>
<li><a href="#">Doomoro</a></li>
</ul>
</li>
<li><a href="#">Contact</a></li>
<li><a href="#">About</a></li>
</ul>
</nav>
CSS:
nav ul li a {
font-family:'Cookie', cursive;
background-color:#400000 ;
border-radius: 0.5em;
color:#fff;
display:block;
line-height:3em;
text-align:center;
text-decoration:none;
width:100%;
}
nav ul li a:hover {
background-color:#680000 ;
color:white;
}
nav ul li ul {
display: none;
position: absolute;
top: 48px;
}
nav ul li:hover ul {
display: block;
position: absolute;
opacity: 1;
}
nav ul li:hover li {
float: none;
}
#sublist li a {
font-family:'Cookie', cursive;
background-color:#400000 ;
border-radius: 0.3em;
color:#fff;
display:block;
line-height:3em;
text-align:center;
text-decoration:none;
width:100%;
}
澄清:“a”元素是较小的元素。 感谢您的帮助。
最佳答案
请试试这个jsFiddle .我添加的 CSS 中缺少一些内容。 HTML 保持不变,这里是新的 CSS 代码:
#main-nav ul li {
display: inline-block;
}
ul#sublist li {
display: block;
}
ul#sublist {
padding-left: 6px;
top: 84px;
}
nav ul li a {
font-family:'Cookie', cursive;
background-color:#400000;
padding: 10px;
border-radius: 0.5em;
color:#fff;
display:block;
line-height:3em;
text-align:center;
text-decoration:none;
width:100%;
}
nav ul li a:hover {
background-color:#680000;
color:white;
}
nav ul li ul {
display: none;
position: absolute;
top: 48px;
}
nav ul li:hover ul {
display: block;
position: absolute;
opacity: 1;
}
nav ul li:hover li {
float: none;
}
#sublist li a {
font-family:'Cookie', cursive;
background-color:#400000;
border-radius: 0.3em;
color:#fff;
display:block;
line-height:3em;
text-align:center;
text-decoration:none;
width:100%;
}
关于html - 下拉子列表行为怪异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25896319/