2016-10-17 11 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

右の2つのナビを横から見た画像は次のとおりです。[link](https://s18.postimg.org/5mln9t9cp/image.png) ナビの高さが変更された場合、私が提供したコードからのものではありませんあなたと。コードを少しデバッグしてください。後で問題が残っている場合は、別の質問をしてください。ただし、よりよく定義してください。 – MSarandev

関連する問題