根据发生的次数改变css

时间:2012-08-08 07:00:31

标签: css3

我想根据用户类的次数来设置用户div的样式 出现在父类中。我知道如何用jquery做到这一点,但这只能用css3吗?我只针对Chrome浏览器。

<div class="parent">
 <div class="user"></div>
</div>

<div class="parent">
 <div class="user"></div>
 <div class="user"></div>
</div>

2 个答案:

答案 0 :(得分:1)

有一个名为:nth-​​child(整数)的选择器。你可以这样做

.parent .user:nth-child(1)

只会影响.parent中的第一个.user。我不知道为什么它不是基于0,而是什么。此外,您可以使用方程式,例如

.parent .user:nth-child(2n+2)

只会选择每秒.parent .user

这是一些更多的阅读

http://css-tricks.com/how-nth-child-works/

或者根据.user显示的次数来显示样式,有第一个孩子的样式解决方案,然后覆盖它,同时为第二个孩子设置样式,并在第三个样式时覆盖它等等。这是一个例子

http://lea.verou.me/2011/01/styling-children-based-on-their-number-with-css3/

答案 1 :(得分:1)

没有办法做你所知道的我所知道的事情。由Gareth Parker链接的方法要求您知道将有多少子元素或知道它们的最大数量。

我最接近的是设置一个.user元素成功的.user元素的样式:

​.parent .user { background:red; }
.parent .user ~ .user { background:blue; }

这使用~组合子,它是General Sibling组合子。

Here它正在发挥作用。

当然,您也可以将类应用于您知道其中包含多个.parent元素的任何.user元素,然后只定位给定内的任何.user元素类。