2016-05-08 6 views
0

現在、リストを使用して垂直ナビゲーションバーを作成しようとしていますが、私がul上にマウスを置くとliのすべてのドロップダウンメニューが表示されるか、まったく表示されます。これには解決策がありますか?ホバーとリストのドロップダウンメニュー

HTML:

<body> 
    <div class="navbar"> 
     <ul> 
      <li>title</li> 
      <li>main text</li> 
       <div class="dropdown-content"> 
        <a href="#">text</a> 
        <a href="#">text</a> 
        <a href="#">text</a> 
       </div> 
      <li>main text</li> 
       <div class="dropdown-content"> 
        <a href="#">text</a> 
        <a href="#">text</a> 
        <a href="#">text</a> 
       </div> 
      <li>main text</li> 
       <div class="dropdown-content"> 
        <a href="#">text</a> 
        <a href="#">text</a> 
        <a href="#">text</a> 
       </div> 
     </ul> 
    </div> 
</body> 

はCSS:CSSの最後の3行で

.dropdown { 
    position: relative; 
    display: inline-block; 
} 

.dropdown-content { 
    display: none; 
    position: absolute; 
    background-color: #f9f9f9; 
    min-width: 160px; 
    border-radius: 15px; 
} 

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

.dropdown-content a:hover { 
    background-color: #f1f1f1; 
    border-radius: 15px; 
} 

.navbar ul { 
    list-style-type: none; 
    margin: 0; 
    padding: 0; 
    width: 200px; 
    border: 1px solid #000000; 
    float: left; 
    border-radius: 25px; 
    background-color: #9cddf0; 
    height: 500px; 
    overflow: hidden; 
    line-height: 35px; 
} 

.navbar ul li { 
    display: block; 
    color: #000000; 
    padding: 0px; 
    text-decoration: none; 
    text-align: left; 
    padding-left: 5px; 
} 

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

私は.navbar ul li:hover .dropdowncontentに変更した場合、ドロップダウンメニューがまったく表示されません。

HTMLでは、ドロップダウンの内容をliに入れると、リストに表示されるはずの次の2つがボックス外に表示されます。

ありがとうございます。

答えて

3

あなたはコンテンツ要素にどんな種類の文脈も与えていません。今、あなたのCSSが書かれているように、あなたが明示的にそれらのすべてを表示しているので、すべてのドロップダウンはホバー上に表示されます。

基本的に何をする必要があるのは、あなたのコンテンツ要素をliの中に置き、それをホバーセレクタのスタイルにすることです。ちなみに、未来の参照のためだけに、順序付けられていないリストは、その子としてliを持つことができます。それ以外の場合は、有効なHTMLではありません。

https://jsfiddle.net/eo0shney/

<div class="navbar"> 
<ul> 
<li>title</li> 
<li> 
    main text 
    <div class="dropdown-content"> 
    <a href="#">text</a> 
    <a href="#">text</a> 
    <a href="#">text</a> 
    </div> 
</li> 
<li> 
    main text 
    <div class="dropdown-content"> 
    <a href="#">text</a> 
    <a href="#">text</a> 
    <a href="#">text</a> 
    </div> 
</li> 
<li> 
    main text 
    <div class="dropdown-content"> 
    <a href="#">text</a> 
    <a href="#">text</a> 
    <a href="#">text</a> 
    </div> 
</li> 

関連する問題