2016-10-17 148 views
0

我做了一个导航栏,它有一些标签,但我想做一个下拉菜单,出现在悬停在流派标签。代码是这样的:导航中的HTML下拉菜单

<nav> 
<ul> 
    <li><a class="active" href="index.html">Home</a></li> 
    <li><a href="index.html">PLaying Now</a></li> 
    <li><a href="index.html">Genre</a></li> 
</ul> 
</nav> 

而且CSS代码是:

nav { /* Navbar align */ 
    text-align:center; 
} 

ul { /* Navbar settings */ 
    display: inline-block; 
    list-style-type: none; 
    margin: 0; 
    padding: 0; 
    overflow: hidden; 
    background-color: #333; 
} 

li { /* Text align */ 
    float: left; 
} 

li a { /* Menu variable */ 
    display: block; 
    color: white; 
    font-size: 20px; 
    text-align: center; 
    padding: 16px 16px; /* height width */ 
    text-decoration: none; 
} 

li a:hover:not(.active) { /* Tab over mouse */ 
    background-color: #111; 
} 

.active { /* Tab active color */ 
    background-color: #791519; 
} 

什么我必须改变,以做到这一点?

+0

有通过这个阅读。这是相当简单的实现: http://www.w3schools.com/howto/howto_js_dropdown.asp – MSarandev

+0

是的,我看到了,但是当我试图使它与我的代码一起工作时,我遇到了一些问题。这就是我问的原因。我想知道是否有人可以用我已有的代码来帮助我。 – xitro

回答

0

添加你需要的链接类型 <li><a href="index.html">Genre</a></li>

<li><a href="index.html">Genre</a> 
    <ul> 
     <li><a href="link.html">Link</a></li> 
    </ul> 
</li> 

,然后添加到您的CSS

ul ul { display: none; } 
ul li:hover ul { display: block; } 
+0

我试过了,它很好但不够好,因为菜单栏变得更高了,而不是出现了新的菜单。 – xitro

+0

然后,您应该使用Javascript/jQuery打开悬停或单击的外部菜单。 – Fluchaa

0

这里,结合W3Schools的教程,你的代码。

W3Schools的教程链接:LINK

CSS

nav { /* Navbar align */ 
     text-align:center; 
    } 

    ul { /* Navbar settings */ 
     display: inline-block; 
     list-style-type: none; 
     margin: 0; 
     padding: 0; 
     overflow: hidden; 
     background-color: #333; 
    } 

    li { /* Text align */ 
     float: left; 
    } 

    li a { /* Menu variable */ 
     display: block; 
     color: white; 
     font-size: 20px; 
     text-align: center; 
     padding: 16px 16px; /* height width */ 
     text-decoration: none; 
    } 

    li a:hover:not(.active) { /* Tab over mouse */ 
     background-color: #111; 
    } 

    .active { /* Tab active color */ 
     background-color: #791519; 
    } 

    /* DROPDOWN */ 
    li.dropdown { 
     display: inline-block; 
    } 

    .dropdown-content { 
     display: none; 
     position: absolute; 
     background-color: #f9f9f9; 
     min-width: 160px; 
     box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2); 
    } 

    .dropdown-content a { 
     color: black; 
     padding: 12px 16px; 
     text-decoration: none; 
     display: block; 
     text-align: left; 
    } 

    .dropdown-content a:hover {background-color: #f1f1f1} 

    .dropdown:hover .dropdown-content { 
     display: block; 
    } 

HTML

<nav> 
<ul> 
    <li><a class="active" href="index.html">Home</a></li> 
    <li><a href="index.html">Playing Now</a></li> 
    <li class="dropdown"> 
     <a href="index.html" class="dropbtn">Genre</a> 
     <div class="dropdown-content"> 
      <a href="#">Link 1</a> 
      <a href="#">Link 2</a> 
      <a href="#">Link 3</a> 
     </div> 
    </li> 
</ul></nav> 
+0

是的,我做了自己的修复,但当下拉菜单出现时,整个导航栏变得更高,所以下拉菜单可以出现。 – xitro

+0

因为我想要下拉菜单是相对的,所以它可以出现在我下面的一些图像的顶部。 – xitro

+0

对,右侧是两个导航的图片:[link](https://s18.postimg.org/5mln9t9cp/image.png) 如果您的导航更改高度,则不是来自我提供的代码你和。调试你的代码。如果您以后仍然遇到问题,请提出另一个问题,但将其定义得更好。 – MSarandev