html - 子菜单不会显示

标签 html css submenu

我的网站上有一个悬停下拉菜单。它显示正常,直到您将鼠标悬停在上方。子菜单出现,但在您单击链接之前,子菜单消失了。

这是 HTML -

<div id="top-nav"><div id="nav">

<nav>
<ul id="menu" style="list-style-type: none;">

    <li id="sub"><a href="#">Artists</a>
        <ul>
            <li><a href="#">Banks</a></li>
            <li><a href="#">Lil Silva</a></li>
            <li><a href="#">Frances and the Lights</a></li>
            <li><a href="#">Jim-E Stack</a></li>
        </ul>
    </li>
    <li><a href="#">Night</a></li>
    <li><a href="#">Info</a></li>
</ul>
</nav>

</div>
</div>

这是 CSS -

#nav {
text-align:center;
list-style: none;

}
ul#menu {
background-color: #FFFFFF;
list-style: none outside none;
margin: 0 auto;
padding-bottom: 0px;
padding-top: 0px;
text-align: center;
width: 300px;

}
ul#menu:after {
content: "";
background-color: #FFFFFF;
height: 10px;
width: 100%;
display: block;
position: absolute;
left: 0;
margin-top: 20px;

}
ul#menu li {
float: left;
}
ul#menu li a {
color: #666666;
font-size: 12px;
margin: 0;
padding: 0px 35px;
text-decoration: none;

}
ul#menu li a:hover {
background-color: #ccc;
}
a.selected-page, ul#menu a.selected-page:hover {
background-color: #FFFFFF;
}
li#sub ul {
display: none;
position: absolute;
background-color: #FFFFFF;
z-index: 22222;
margin-top: 4px;
overflow: hidden;
}
li#sub ul li {
display: block;
float: none;
border-top-style: none;
border-width: 2px;
border-color: #FFFFFF;
text-align: left;
padding-top: 5px;
padding-bottom: 5px;

}
ul#menu li#sub:hover ul {
display: block;
}
ul#menu li#sub ul li:hover {
background-color: #FFFFFF;
}

我做错了什么?任何帮助是极大的赞赏!

最佳答案

问题出在您的 CSS 代码的以下行:

li#sub ul {
    ...
    margin-top: 4px;
    ...
}

只需删除这个 margin-top,您的下拉菜单就会正常工作。

在您的示例中,“艺术家”链接和下面的下拉菜单之间有一个 4px 的边距空间。如果您的光标离开链接并进入此“边缘区域”,浏览器会将其解释为取消悬停链接 - 并隐藏下拉菜单。

关于html - 子菜单不会显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19571649/

相关文章:

javascript - 模态弹出窗口内的 ElevateZoom 缩放窗口在弹出窗口打开之前显示在内容后面

drop-down-menu - Cloud9 IDE 主菜单栏(文件、编辑、运行等)卡在最小化?

c++ - 在 C++ 中使用 return 语句退出函数

jquery - 使平均菜单位置固定

jquery - 如果菜单关闭,子菜单的减号不会切换回加号

html - IE9随机?不显示内容、链接失败等?? CSS?

html - 菜单和子菜单问题 [CSS]

html - 未对齐的 2 行 2 列 li 标签内容

java - 如何在 Android PreferenceScreen 中打开本地 HTML 文件?

css - 为什么这个内联 block 会导致其父级的额外高度?