2010-07-23 76 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