我已經嘗試一個奇怪的情況下,兩個僞類結合起來::not
和:nth-of-type()
獲得非隱藏物品組合:第n-的類型()和:不是
有一個:not([selector]):nth-of-type([rule])
彩虹條紋,我認爲CSS會在應用:nth-of-type
規則之前先過濾:not
項目,但以任何順序讓它們給出相同的結果。
以下是一個演示這一個的jsfiddle:http://jsfiddle.net/j7hjU/
我做這些的時候我也許忽視的東西?
我已經嘗試一個奇怪的情況下,兩個僞類結合起來::not
和:nth-of-type()
獲得非隱藏物品組合:第n-的類型()和:不是
有一個:not([selector]):nth-of-type([rule])
彩虹條紋,我認爲CSS會在應用:nth-of-type
規則之前先過濾:not
項目,但以任何順序讓它們給出相同的結果。
以下是一個演示這一個的jsfiddle:http://jsfiddle.net/j7hjU/
我做這些的時候我也許忽視的東西?
我假定的CSS還是執意過濾:第n-的型
都能跟得上:首先應用之前不物品。 CSS是完全陳述式的;每個選擇器都是一個獨立於任何選擇器部件的簡單條件,它是真或假。這不是一種程序性語言,你可以對其進行處理,並逐步縮小範圍。具有程序規則的選擇器語言將不受多種優化的影響,速度會更慢。
所以nth-of-type
只是關於元素的父元素中的位置,而不是在'到目前爲止的結果列表'中的位置,因爲CSS選擇器沒有這樣的概念。由於規則不會互相干擾,因此選擇器引擎可在查找nth-of-type
的測試之前將其縮小爲not
。
CSS從右向左分析。你有沒有嘗試翻轉:not
和:nth-of-type
?
這似乎是這個問題的一個副本:Css coloring table problem
的,答案基本上是沒有,但你可以應用類的可見行,使其工作。
是的,我做到了,但得到了同樣的結果。 – Zahymaka
這是無關緊要的。簡單選擇器的順序無關緊要。 – BoltClock