Sen combinators olarak birçok kez tekrarlayarak :first-child
pseudo-class birlikte adjacent sibling combinators kullanabilirsiniz. Bu ayrıca an answer to a different question'da da belirtilmiştir.
Herhangi bir öğe için E
, E:first-child
ile başlayın, hedeflediğiniz öğeye ulaşıncaya kadar sonraki çocuklar için + E
ekleyin. Elbette aynı eleman E
'u kullanmak zorunda değilsiniz; Herhangi bir tür, sınıf, ID, vb. için bunu değiştirebilirsiniz, ancak önemli bitler :first-child
ve +
işaretlerdir.
Örnek olarak, kendi ol
aşağıdaki CSS3 seçici üçüncü li
almak için:
ol > li:nth-child(3)
şöyle BB2 replike olması:
ol > li:first-child + li + li
bir resim:
<ol>
<li></li> <!-- ol > li:nth-child(1), ol > li:first-child -->
<li></li> <!-- ol > li:nth-child(2), ol > li:first-child + li -->
<li></li> <!-- ol > li:nth-child(3), ol > li:first-child + li + li -->
<li></li> <!-- ol > li:nth-child(4), ol > li:first-child + li + li + li -->
</ol>
Not: there are no sibling combinators that look at preceding siblings (ne CSS2'de ne de CSS3'te), CSS2 seçicilerini kullanarak :nth-last-child()
veya :last-child
'u taklit edemezsiniz.
Ayrıca, yalnızca b
(spec tarif edildiği gibi), formül an+b
sabit bir sayı olan bir zamanda, belirli bir çocuk için :nth-child(b)
taklit; Sadece komşu kardeş kombinatorlerle karmaşık formüller elde edemezsiniz.