Autor publikacji
Virtual Patriot - Administrator

:nth-of-type()

Data publikacji
Ostatnio edytowano

Przeznaczenie selektora :nth-of-type()

      :nth-of-type(...) { ... }
    

Selektor :nth-of-type() odwołuje się do każdego elementu HTML, którego cechy w danym momencie spełniają zasadę pseudoklasy :nth-of-type().

Cechy elementu HTML spełniają zasadę pseudoklasy :nth-of-type(), gdy w danym momencie dany element HTML jest elementem swojego typu znajdującym się na określonej przez nas pozycji względem ewentualnych pozostałych elementów dzieci swojego typu należących do wspólnego elementu rodzica.

Selektor :nth-of-type() odszukuje elementy HTML w kodzie dokumentu HTML na podstawie parametru child, którego wartość musimy określić. Domyślnie odszukiwanie kolejnych elementów HTML odbywa się w orientacji od góry do dołu, w kodzie dokumentu HTML.

Parametry selektora :nth-of-type()

Przykładowe zapisy

:nth-of-type(even)

:nth-of-type(odd)

:nth-of-type(3)

:nth-of-type(n)

:nth-of-type(3n)

:nth-of-type(4n+3)

:nth-of-type(-2n+3)

:nth-of-type(2n-3)

child

Parametr child jest wymaganym parametrem selektora :nth-of-type(). Parametr child określa w jaki sposób selektor :nth-of-type() powinien odszukiwać kolejne interesujące nas elementy swojego typu będące elementami dziećmi należącymi do wspólnego elementu rodzica.

Dostępne wartości parametru child

even

Wartość even parametru child każe selektorowi :nth-of-type() odszukać elementy swojego typu znajdujące się na parzystych pozycjach.

odd

Wartość odd parametru child każe selektorowi :nth-of-type() odszukać elementy swojego typu znajdujące się na nieparzystych pozycjach.

liczba całkowita

Wartość parametru child w postaci dowolnej dodatniej liczby całkowitej każe selektorowi :nth-of-type() odszukać element swojego typu znajdujący się na konkretnej pozycji.

wzór: JUMPnSTART

Według z góry zdefiniowanego wzoru możemy określić, w jaki sposób selektor :nth-of-type() powinien odszukiwać kolejne elementy swojego typu będące elementami dziećmi należącymi do wspólnego elementu rodzica.

Wyjaśnienie wzoru

JUMP

Składnik JUMP nie jest wymaganym składnikiem wzoru JUMPnSTART. Składnik JUMP określa wartość przeskoku podczas odszukiwania kolejnych elementów swojego typu będących elementami dziećmi należącymi do wspólnego elementu rodzica.

n

Składnik n jest wymaganym składnikiem wzoru JUMPnSTART. Składnik n oddziela składnik JUMP od składnika START, dzięki czemu przeglądarka internetowa może rozróżnić wspomniane składniki JUMP oraz START.

START

Składnik START nie jest wymaganym składnikiem wzoru JUMPnSTART. Składnik START określa, od której pozycji (licząc od góry do dołu) powinno rozpocząć się odszukiwanie kolejnych elementów swojego typu będących elementami dziećmi należącymi do wspólnego elementu rodzica. Pierwszy element swojego typu znajduje się na pozycji +1, natomiast następny w kolejności element swojego typu (czyli drugi) znajduje się na pozycji +2 itd.

Informacje techniczne o selektorze :nth-of-type()

ograniczenie - elementy HTML

brak

ograniczenie - właściwości CSS

brak

Przykładowa reguła CSS, selektor :nth-of-type()

p:nth-of-type(3n) {
  color:red;
}

Wyjaśnienie przykładowej reguły CSS

      p:nth-of-type(3n) { color:red; }
    
p:nth-of-type(3n)

do każdego elementu p, który jest (licząc od góry do dołu oraz od pozycji 0) co trzecim elementem typu p względem pozostałych elementów dzieci typu p należących do wspólnego elementu rodzica

color

dodaj właściwość CSS, która zmieni kolor tekstu elementu HTML

red

na barwę czerwoną

Kod źródłowy przykładowego dokumentu HTML

<!DOCTYPE HTML>
<html>
  <head>
    <meta charset="utf-8">
    <title>Darmowy Kurs CSS</title>

    <style>
      p:nth-of-type(3n) {
        color:red;
      }
    </style>
  </head>

  <body>

    <div>
      <p>"p" dziecko numer 1 typu "p" elementu "div"</p>
      <p>"p" dziecko numer 2 typu "p" elementu "div"</p>
      <p>"p" dziecko numer 3 typu "p" elementu "div"</p>
      <div>"div" dziecko numer 1 typu "div" elementu "div"</div>
      <p>"p" dziecko numer 4 typu "p" elementu "div"</p>
      <p>"p" dziecko numer 5 typu "p" elementu "div"</p>
      <div>"div" dziecko numer 2 typu "div" elementu "div"</div>
      <p>"p" dziecko numer 6 typu "p" elementu "div"</p>
      <p>"p" dziecko numer 7 typu "p" elementu "div"</p>
      <div>"div" dziecko numer 3 typu "div" elementu "div"</div>
      <p>"p" dziecko numer 8 typu "p" elementu "div"</p>
      <p>"p" dziecko numer 9 typu "p" elementu "div"</p>
    </div>

  </body>
</html>

Rezultat

"p" dziecko numer 1 typu "p" elementu "div"

"p" dziecko numer 2 typu "p" elementu "div"

"p" dziecko numer 3 typu "p" elementu "div"

"div" dziecko numer 1 typu "div" elementu "div"

"p" dziecko numer 4 typu "p" elementu "div"

"p" dziecko numer 5 typu "p" elementu "div"

"div" dziecko numer 2 typu "div" elementu "div"

"p" dziecko numer 6 typu "p" elementu "div"

"p" dziecko numer 7 typu "p" elementu "div"

"div" dziecko numer 3 typu "div" elementu "div"

"p" dziecko numer 8 typu "p" elementu "div"

"p" dziecko numer 9 typu "p" elementu "div"

Tylko elementy "p", które są (licząc od góry do dołu oraz od pozycji "0") co trzecim elementem typu "p" względem pozostałych elementów dzieci typu "p" należących do wspólnego elementu rodzica posiadają czerwony kolor tekstu.

Interpretacja selektora :nth-of-type()

Firefox

tak

Google Chrome

tak

Safari

tak

Opera

tak

Internet Explorer

tak, lecz od wersji 9

Edge

tak

Zobacz więcej informacji o interpretacji selektora .