html - 使具有两层的导航栏和下拉菜单在第二层水平移动

标签 html css navbar

所以,基本上,我有一个导航栏。我想要下面的第二个“导航栏”,它始终可见,但没有用户交互,它什么也不显示。但是,当您将鼠标悬停在主栏中的选项卡上时,下拉栏会从给定点开始,并沿着第二层水平移动。

到目前为止,这是我的栏,我大体上知道如何制作下拉栏,但我认为从这一点开始你向我解释会更容易,而不是告诉我要删除什么。

http://jsfiddle.net/7yrX7/119/

<div id="nav">
<div id="container">
    <ul>        
    <li><img src="bilder/menu.jpg" style="height:120%; padding-left: 100px">    </li>
    <li><a href="#"> Left thing </a></li>
     <li>
    <a href="#"> Right thing </a></li>
    </ul>
    <a href="http://www.facebook.com"><img src="bilder/facebook.ico" style=" height:100%; float:right; padding-right:50px;"> </a>
    <a href="http://www.facebook.com"><img src="bilder/twitter.ico" style=" height:100%; float:right; padding-right: 15px;"></a>
</div>
</div>

<div id="ribbon">
</div>





body,
#nav ul {
    padding: 0;
    margin: 0;
}
body { 
    font-family: Arial;
    font-size: 17px;
}

#nav {
    background: linear-gradient(#999C92,#72776A); 
    width: 100%;
    position:fixed;
    height:50px;

}
#nav ul {
    list-style-type: none;
    font-size:0; /*hack for inline-block removes side margins*/ 
}

#nav ul a{
list-style-type: none;
text-decoration: none;
}

#nav > ul { text-align:center; } 

#nav li {

    font-size: 17px;
    vertical-align: middle;
    float: left;
}

#nav li a{
padding: 15px;
display: block;
    display:inline-block;
}

#nav ul li a:hover {
    background-color: #333;
    color:red;
}

#nav a:visited { 
    color: white; 
    display: block;
    padding: 15px;
    text-decoration: none;
}
#nav li:hover ul {
    display: block;
    float:left;
}
#nav ul ul {
    display: none;
    color: red;
    border: 1px solid black;
}

#nav a li a:hover {
    color: #699;
}



#ribbon {
width: 100%;
height: 20px;
background-color: black;

}

最佳答案

我基于您作为“答案”发布的更新代码进行此修复(将来,您可以使用编辑功能来更新您的问题)。

让持久栏显示在主导航下方的诀窍是在末尾添加一些 div(我们称之为 ribbon_filler)并使其始终可见。当下拉菜单出现时,它就出现在色带填充物上方。以下是填充程序的 CSS 示例:

#ribbon_filler {
  top:50px;
  height:50px;
  width:100%;
  background-color: #ACD661;
  border:1px solid black;
}

您可以在您的代码中看到它的使用 here .

关于html - 使具有两层的导航栏和下拉菜单在第二层水平移动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25628615/

相关文章:

javascript - 自动选择<选项>添加到<选择>

html - CSS 导航栏调整大小问题

javascript - 为什么我的导航栏和页面两侧之间有一点间隙?

css - 粘性标题在移动设备上占据了整个屏幕

html - IE 和 Edge 中无法解释的网格行高

javascript - 奇怪的使用 Date 对象

javascript - 谷歌地图 : How to redirect to other points in the map?

javascript - onClick使用jsZip压缩页面上的多个图片src?

html - 查看个人资料需要在同一个地方有或没有内容

css - Bootstrap 4 导航栏不会在 Angular4 中崩溃