组合:第n的类型()和:不(Combining :nth-of-type() and :not)

2019-06-27 14:47发布

我有尝试一个奇怪的情况下,两个伪类结合起来: :not:nth-of-type()来获得在非隐藏物品彩虹条纹

有一个:not([selector]):nth-of-type([rule])我认为的CSS将过滤:not首先应用之前的项目:nth-of-type规则,而是让他们以任何顺序给我相同的结果。

以下是一个演示这一个的jsfiddle: http://jsfiddle.net/j7hjU/

做这些的时候我也许我忽视的东西?

Answer 1:

我认为CSS还是执意过滤:没有项目首先应用之前:第n-型

不。 CSS是完全的声明; 每个选择器是一个简单的条件是真还是假独立于任何选择器部分的。 这是不是你拿一套,并对其进行处理,每一步缩小下来程序语言。 程序性规则的选择语言是免疫多种优化,并会慢一些。

因此, nth-of-type大概只有在“到目前为止结果列表”的元素的父元素中的位置,而不是位置,因为CSS选择器有没有这样的概念。 选择器引擎可以查找测试为nth-of-type与缩小前not ,因为规则不互相干扰。



Answer 2:

这似乎是这个问题的一个副本: 的CSS着色表问题

那答案是基本上没有,但你可以应用类的可见行,使其工作。



Answer 3:

CSS解析从右到左。 您是否尝试过临场变卦了:not:nth-of-type

为什么浏览器从右匹配CSS选择离开?



文章来源: Combining :nth-of-type() and :not