【发布时间】:2014-02-07 09:56:47
【问题描述】:
我有很多 5 里的无序列表,每个赞
<ul class="Rank">
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
</ul>
我想更改当前li:hover 元素的background-color 以及该列表中所有以前的li 元素。假设,如果我将鼠标悬停在第 3 个 li 上,那么第 3 个、第 2 个和第 1 个 li 应该有 background-color:#00f;
我可以用 jQuery 或 JavaScript 来做,但我想用纯 CSS 做。目前关注本文:http://css-tricks.com/useful-nth-child-recipies/
我可以使用此.Rank li:hover 更改当前悬停的li 元素的背景,但不明白如何更改当前.Rank 列表中先前元素的background-color。
从上面的文章我也学会了改变背景直到nth-chid,但不知道如何在上面应用:hover。
.Rank li:nth-child(-n+5)
{
background-color:#00f;
}
【问题讨论】:
-
没有先前的兄弟选择器。仅使用 CSS 无法完成,请使用 javascript
-
@ZachSaucier 正如我在上一个代码中所说的那样,有先前的兄弟选择。它可能不是完全以前的兄弟选择器,但可以完成这项工作,但无法弄清楚如何对其应用悬停效果。我的上一个代码在上一个兄弟更改背景中运行良好。
-
您提供的选择器不会选择以前的元素,只是针对子节点。有这个限制
-
@ZachSaucier 我们找到了爱因斯坦来了解苹果是如何落到地球上的。谢谢大家
标签: javascript jquery css html