html - 下拉子列表行为怪异

标签 html css

我有一个问题,根据我在其他地方看到的情况,我的 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 &darr; </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/

相关文章:

html - 垂直居中对齐 float 内容

css - Nivo slider 在 Firefox 中的位置错误

css - 除内容外的 div 背景拉伸(stretch)

javascript - 选择类型为 "h"的最近元素,例如h1、h2 等

html - 导航子菜单一页网站

css - flexbox 中的边距折叠

css - 如何创建 Facebook 风格的固定状态栏?

php - 多个表,其中只有 2 个

html - Chrome (33) 显示 inline-block 不同

PHP - 脚本未被执行