在翱翔改变儿童背景的Css

时间:2012-09-26 07:57:37

标签: css

我有一个菜单:

<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/

1 个答案:

答案 0 :(得分:17)

你几乎拥有它!

li:hover .home {
   background-color:brown;
}

CSS始终应用于选择器最右侧的元素(除非我们将来某个时候看到对父选择器的支持)。因此,您选择的div必须位于选择器的右侧,而li:hover作为其父级必须位于左侧。

Your fiddle edited