2014-09-18 21 views
3

我需要將符合此一NHT-孩子規則:
◻◼◼◻◻◼◼◻◻◼◼◻我可以使用N-child跳過第一個項目,然後選擇2跳過2?

我試了幾個CSS-Tricks Nth-child-tester combinaisons,但毫無效果。

這甚至可能嗎?

+2

他想爲目標1 ** 2 3 ** 4 5 ** 6 7 ** 8(即2,3,6,7) – Joe 2014-09-18 16:13:52

+0

您的標題很混亂,因爲它與模式不符。你想選擇2,然後跳過2?或者你想「跳過1,然後無限期地選擇2,跳過2」? – 2014-09-18 16:14:53

+1

@哈里http://grab.by/AtO4 – Joe 2014-09-18 16:14:54

回答

7

我不知道任何單一規則的方式來做到這一點,但你總是可以只針對同一條規則兩個獨立的模式:

:nth-child(4n+2), 
:nth-child(4n+3) { 
    background: black; 
} 
+0

+1我不知道爲什麼我沒有考慮將兩種不同的模式組合在一起。謝謝! – 2014-09-18 16:17:08

5

這一個讓我頭痛,但我想通了解如何在單一規則中做到這一點!

您必須使用:not()選擇器,因爲它可以按順序放置,所以element:not(:nth-child(4n + 1)):not(:nth-child(4n + 4))可以解決問題。

換句話說,它是選擇所有,除了並在每個4N範圍 ...

li:not(:nth-child(4n + 1)):not(:nth-child(4n + 4)) { 
 
    color: red; 
 
}
<ul> 
 
    <li>1</li> 
 
    <li>2</li> 
 
    <li>3</li> 
 
    <li>4</li> 
 
    <li>5</li> 
 
    <li>6</li> 
 
    <li>7</li> 
 
    <li>8</li> 
 
    <li>9</li> 
 
    <li>10</li> 
 
</ul>

+0

+1這真的很棒,Thx! – 2014-09-18 16:39:12

+1

對我來說,接受的答案是更可讀的答案(以及我在團隊中工作時使用的答案)。但我正在給你+1,因爲我很欣賞看到它是否可能的聰明和奉獻精神。 :) – 2014-09-18 16:46:49

+0

你真棒,我無法弄清楚這一點。我將它修改爲通過ELEMENT> div:not(:nnth-child(4n + 1)):not(:nnth-child(4n + 2))進行2乘2因爲我製作了一個可以使用條紋的東西,但didn不包含每個元素配對只做一個(偶數)選擇器 – Kiwizoom 2016-08-02 23:15:38