CSS下拉菜单的问题

时间:2012-03-11 11:19:37

标签: html css

我使用CSS构建了一个下拉菜单。所有的定位都是正确的,看起来很棒。但是无法单击子菜单选项。当光标位于通向下拉列表的按钮上时,会出现子菜单,但是一旦光标向下移动,尝试单击链接,菜单就会消失。我已经尝试过更改z-index和定位,但它似乎没有用。

(有两个下拉子菜单,一个接一个,但网站不会让我发布html代码。#navigation指的是整个导航栏,菜单是包含子菜单和子菜单的div个别子菜单) css代码是:

#navigation { width: 100%; background: #1C140D; /*BUTTONS*/ }
#navigation ul { margin: 0; padding: 0; width: 100%; }
#navigation ul li { list-style-type: none; display: inline; color:#1C140D; }
#navigation li a { display: block; float: left; padding: 5px 10px; color: #FFFFFF; text-decoration: none; border-right: 1px solid #FFFFFF; border-left: 1px solid #FFFFFF; border-top: 1px solid #FFFFFF; }
#navigation li a:hover { background: #000000; color: #FFFFFF; }
#content-container { float: left; width: 100%; height: 175px; background: #FFFFFF url(/wp-content/uploads/layout-three-fixed-background.gif) repeat-y 100% 0; color: #F2E9E1; }
ul { font-family: Arial, Verdana; font-size: 14px; margin:0; padding:0; list-style:none; }
ul li { display: block; position: relative; float: left; color: #1C140D; }
li ul {display:none; }
ul li a { display: block; text-decoration: none; color: #1C140D; border-top: 1px solid #FFFFFF; padding: 15px 15px 15px 15px; background: #1C140D; /*BUTTONS*/ margin-left: 1px; white-space: nowrap; }
ul li a:hover { background:#1C140D; }
li:hover ul { display: block; }
ul.sub_menu { position:absolute; border-bottom: 1px solid #FFFFFF; color: #1C140D; top: 30px; }
li:hover li { float: none; font-size: 14px; color: #1C140D; }
li:hover a { background: #1C140D; color: #FFFFFF; }
li:hover li a:hover { background: #1C140D; color: #FFFFFF; }

2 个答案:

答案 0 :(得分:0)

尝试放大引导按钮并在其中添加子菜单列表。 或者尝试在前导按钮下移动子菜单几个像素,并将鼠标悬停{显示}到它。

答案 1 :(得分:0)

ul.sub_menu {
    position:absolute;
    border-bottom: 1px solid #FFFFFF;
    color: #1C140D;
    top: 30px;
}

您的问题在于这一行,您将子菜单下拉菜单推离父菜单项太远,因此要修复它,只需将top:30px更改为top:100%即可将您的子菜单正确定位100%你的菜单项应该是固定的。

ul.sub_menu {
    position:absolute;
    border-bottom: 1px solid #FFFFFF;
    color: #1C140D;
    top: 100%;
}