我有一个菜单:
<ul class="menu">
<li><div class="home"></div> Home</li>
<li><div class="forum"></div> Forum</li>
<li><div class="music"></div> Music</li>
</ul>
这个css:
.menu{
list-style:none;
width:100px;
border:1px solid #ccc;
padding:0px;
margin:0px;
}
.menu li{
height:20px;
margin-top:5px;
padding-left:10px;
}
.menu li div{
display:inline-block;
width:10px;
height:10px;
}
.menu li:hover{
background-color:green;
}
.home{background-color:black;}
.forum{background-color:red;}
.music{background-color:yellow;}
这一切都很好并且有效,但我想要做的是当用户在列表项上盘旋时div应该改变它的背景,并且每个div应该更改为不同的collor,所以我需要类似的东西:
.home li:hover{
background-color:brown;
}
但是现在我只是想在那个不存在的div中选择另一个li,不管怎样我希望你能得到这个想法,这里也是js小提琴:http://jsfiddle.net/xShBB/
答案 0 :(得分:17)
你几乎拥有它!
li:hover .home {
background-color:brown;
}
CSS始终应用于选择器最右侧的元素(除非我们将来某个时候看到对父选择器的支持)。因此,您选择的div必须位于选择器的右侧,而li:hover
作为其父级必须位于左侧。