html - CSS 下拉菜单在悬停时将滚动条添加到标题 div

标签 html css

我使用了以下 example尝试创建我自己的下拉菜单。

我试过增加 z-index,但我的问题真的不是子菜单落后于其他内容。相反,当我将鼠标悬停在“登录”上时,滚动条会添加到标题 div 中,我必须使用它们来查看子菜单。

<!DOCTYPE html> 
<html>  
<head>                                                                                                    
<title>Test</title>                                                                               
<link rel="stylesheet" type="text/css" href="test.css">                                           
</head> 
<body>  
<div id="header">
<div id="logo"> 
[ BETA ]
</div>  

<div id="menu_container">                                                                                 
<div id="menu">                                                                                           
    <ul>
    <li><a href=#>Login</a>                                                                           
            <ul>                                                                                      
            <li><a href=#>A</a></li>                                                                  
            <li><a href=#>B</a></li>                                                                  
            <li><a href=#>C</a></li>                                                                  
            </ul>                                                                                     
    </li>
    <li><a href=#>Register</a></li>                                                                   
    <li><a href=#>Events</a></li>                                                                     
    <li><a href=#>About</a></li>                                                                      
    </ul>
</div>  
</div>                                                                                                    
</div>                                                                                                    
</body>
</html>

#header {
    background: black;
    color: white;
    padding: 10px 10px 10px 10px;
    overflow: auto;
    position: relative;
    z-index: 999;
}

#logo {
    float: left;
    color: #ff8100;
}

#menu_container {
    float: right;
}

#menu ul {
    list-style: none;
    position: relative;
    float: left;
    margin: 0;
    padding: 0;
    z-index: 999;
}

#menu ul a {
    display: block;
    text-decoration: none;
}

#menu ul li {
    position: relative;
    float: left;
    margin: 0;
    padding: 0;
}

#menu ul li.current-menu-item {
    background: #000000;
}

#menu ul li:hover {
    background: green;
}

#menu ul ul {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    background:#ffffff;
    padding: 0;
}

#menu ul ul li {
    float: none;
    width:200px;
}

#menu ul ul a {
    line-height: 120%;
    padding: 10px 15px;
}

#menu ul ul ul {
    top: 0;
    left: 100%;
}

#menu ul li:hover > ul {
    display: block;
}

我需要做什么才能让子菜单看起来从标题 div 垂下并覆盖在内容主体的其余部分?谢谢,非常感谢您的帮助。

最佳答案

您需要从 .header 中删除 overflow: auto 并改用 clearfix:

#header {
   background: black;
   color: white;
   padding: 10px 10px 10px 10px;
   /*overflow: auto;*/ //remove
   position: relative;
   z-index: 999;
}

#header:after{
   content: "";
   display: block;
   clear: both;
}

FIDDLE

overflow:auto 被添加以清除 float 元素(我更喜欢 overflow:hidden)但它也做的是 overflow hidden 并添加滚动条以查看更多的。通常这是一个很好的方法,除非在这种情况下您实际上希望子导航溢出标题。

关于html - CSS 下拉菜单在悬停时将滚动条添加到标题 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27934366/

相关文章:

html - 在 Bootstrap 中放置 Div "inline"

html - 正确包含 CSS

jquery - 防止选择元素触发超链接

Javascript If-else 语句

jquery - 关于jquery滚动的一些问题

css - 电子邮件正文中的条形图

html - 纯 SVG Javascript 库

html - Selenium 自动化 - 寻找最佳 xpath

jquery - 使用 jQuery、HTML 和 CSS 制作我的下拉列表 'drop up'

html - 固定表格的最后一列,保持灵活