2011-07-18 8 views
0

ちょうどCSSを使ってmore-subsのIDを持つリンクをホバーすると、nav要素に含まれるリンクをサブメニューのid値で表示することができますか?もしそうなら、どのように?CSSホバードロップダウンの質問

<nav id="main"> 
    <ul>  
     <li><a href="#" id="more-subs">More</a></li>   
    </ul> 
</nav> 


<nav id="sub-menu"> 
    <ul>  
     <li><a href="#">sub</a></li> 
     <li><a href="#">sub</a></li> 
     <li><a href="#">sub</a></li> 
     <li><a href="#">sub</a></li> 
     <li><a href="#">sub</a></li>   
    </ul> 
</nav> 
+1

CSSはこれを行うことができません。 JavaScriptを使用するか、HTMLを変更する必要があります。 – thirtydot

答えて

3

DOMをCSSだけダウンすることはできません(カスケード接続)。

htmlマークアップを変更できない場合は、この作業を行うためにjavascriptソリューションを使用する必要があります。あなたはそれになりたい場合は - これは単なる基本的なコードです:http://jsfiddle.net/JdZUx/15/(あなたが複数のドロップダウンを持つようにしたい場合は、編集コード)

<nav id="main"> 
    <ul>  
     <li> 
      <a href="#" id="more-subs">More</a> 
      <ul class="sub-menu">  
       <li><a href="#">sub</a></li> 
       <li><a href="#">sub</a></li> 
       <li><a href="#">sub</a></li> 
       <li><a href="#">sub</a></li> 
       <li><a href="#">sub</a></li>   
      </ul> 
     </li>   
    </ul> 
</nav> 

#main .sub-menu {display:none;} 
#main li:hover .sub-menu {display:block;width:200px;background:#ccc;} 

注:

そうしないと、あなたのHTMLを変更することができる場合は、このようにそれを行いますあなたは最適化してさらにいくつかのルールを追加する必要があります。また、IE6の:hoverは、<a>の要素でのみサポートされます。

0

トライ使用のようなもの:

#more-subs #sub-menu{ 
    display: none; 
} 
#more-subs:hover #sub-menu{ 
    display: block; 
} 

が、これはあなたを助けますか?

+0

これはうまくいかなかった – payIT