2010-07-23 97 views
0

我正在嘗試使下拉菜單。有些人幫我在 CSS only drop down menu後。正確應用的位置:懸停以保持子菜單css處於懸停狀態

除了當我將鼠標懸停在我的子菜單上時,一切正常。我的#menubar #test2 a:hover中的懸停狀態背景圖像將返回到#menubar #test2 a狀態。我真的需要做到這一點,並希望有人能幫助我。太感謝了。

我的HTML

<ul id="menuBar"> 
    <li id="test1">test1</li> 
    <li id="test2"><a href="#">Pro1</a> 
    <div class="subMenu"> 
     <ul> 
      <li><a href="#">sub1</a></li> 
      <li><a href="#">sub2</a></li> 
      <li><a href="#">sub3</a></li> 
     </ul> 
     <ul> 
      <li><a href="#">Volleyball</a></li> 
      <li><a href="#">Walking</a></li> 
      <li><a href="#">Water Shoes</a></li> 
     </ul> 
     </div> <!--end of submenu--> 
    </li> 
    </ul> 

CSS

#menuBar #test2 a{ 
background:url("../images/btTest.jpg") no-repeat bottom; 
display:block; 
border-right:1px solid #ffffff; 
width:112px; 
height:37px; 
} 

#menuBar #test2 a:hover{ 
background:url("../images/btTest.jpg") no-repeat top; 
} 

#menuBar #test2 a:hover + .subMenu { //submenu show up 
display:block; 

} 

#menuBar li .subMenu:hover { //keep submenu show up when hover in submenu 
display: block; 
} 

//the next one is not working....but I can't think of anything.... 
#menuBar li .subMenu:hover #menuBar #mens a { 
background:url("../images/btMen.jpg") no-repeat top; 
} 

回答

4

你需要這樣的:

#menuBar #test2 a:hover{ 
    background:url("../images/btTest.jpg") no-repeat top; 
} 

是這樣的:

#menuBar #test2:hover a { 
    background:url("../images/btTest.jpg") no-repeat top; 
} 

當你移動到.subMenu時,讓它堅持下去。這對IE6不起作用(如果你在意)。

此外,這些:

#menuBar #test2 a:hover + .subMenu { //submenu show up 
    display:block; 
} 

#menuBar li .subMenu:hover { //keep submenu show up when hover in submenu 
    display: block; 
} 

應該可以只用這個來代替:

#menuBar li:hover .subMenu { 
    display: block; 
} 
+0

非常非常好的......誰還會想到的代碼稍加改變可以改變世界.. ..IE6 ...只有7%的互聯網用戶使用這個垃圾瀏覽器......現在不是我的顧慮.....非常感謝。 – FlyingCat 2010-07-23 00:51:22

+0

在您的更新答案。我想知道#menuBar李:懸停.subMenu {display:block; }會讓我的子菜單顯示出來,如果我將鼠標懸停在#test1上。或#menuBar下的其他li。但是,當我嘗試它時,一切都很好。你能幫我解釋一下嗎? – FlyingCat 2010-07-23 00:58:18

+0

不,因爲你徘徊的'li'只是其中一個'li'元素,這就是激活其中包含的'.subMenu'。 – ScottS 2010-07-23 01:04:50

相關問題