美好的一天。
我有一个元素,分配了两个三个类。在html中分配了两个,并且jQuery将其中一个分配为活动类。
现在我想在CSS中指定悬停效果,但是要指定一个特定元素:“menuItem first”类...
HTML:
<ul>
<li class="menuItem first"><a href=""><img src="img/sample_slides/1.png" alt="thumbnail" /></a></li>
<li class="menuItem"><a href=""><img src="img/sample_slides/1.png" alt="thumbnail" /></a></li>
<li class="menuItem"><a href=""><img src="img/sample_slides/1.png" alt="thumbnail" /></a></li>
<li class="menuItem"><a href=""><img src="img/sample_slides/1.png" alt="thumbnail" /></a></li>
</ul>
CSS:
li.act,li.act:hover{
/* The active state of the thumb */
background:url(img/active_bg2.png) no-repeat;
}
li.act .first, li.act .first:hover{
/* The active state of the thumb - first class only! */
background:url(img/active_bg1.png) no-repeat;
}
我知道上面的CSS是错误的。什么是正确的注释?
请记住,.act
类由jQuery分配给活动元素...
答案 0 :(得分:5)
当你说
时li.act .first
你真正说的是“first
元素中带有类<li>
的元素act
”。
如果你想说“同时包含first
和act
类的元素,你需要写出没有空格的元素:
li.act.first
在此之后,为了实现所述选择器的悬停规则集,您可以像往常一样附加伪:hover
:
li.act.first:hover
答案 1 :(得分:3)
你的选择器中有一个额外的空间
使用
li.act.first, li.act.first:hover{
/* The active state of the thumb - first class only! */
background:url(img/active_bg1.png) no-repeat;
}
选择器li.act.first
表示li
元素在类属性中同时包含act
和first
。
答案 2 :(得分:0)
您目前所拥有的是为两种状态设置相同的背景颜色。相反,你会使用,,
.first{background-color:#faa;}
.first:hover{background-color:#afa;}
我在这里使用背景色作为一个工作示例, http://jsfiddle.net/mshtT/
答案 3 :(得分:0)
当您在HTML中的第一个li class="menuItem first
元素中编写li
时,menuItem
和first
会成为两个独立的类。要将悬停效果应用于一个元素,您只需使用以下CSS
.first:hover {
/*the effect you want*/ (eg. Background: #444;)
}
它只适用于其中包含first
类的元素,这是您的第一个元素。