Ostatnio edytowany:

:nth-of-type()

Autor: Virtual Patriot

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ć. 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)

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.

Wartość domyślna

brak

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 nieujemnej 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 dodatkowy przeskok podczas odszukiwania kolejnych elementów swojego typu będących elementami dziećmi należącymi do wspólnego elementu rodzica.

Dostępne wartości

dowolna liczba całkowita

Wartości dodatnie

wartości dodatnie umożliwiają przeskok w przód

Wartości ujemne

wartości ujemne umożliwiają przeskok w tył

Wartość domyślna

1

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órego elementu swojego typu powinno dokonywać 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.

Dostępne wartości

dowolna liczba całkowita

Sposób podawania

dla wartości dodatnich należy podać znak +, a dla wartości ujemnych należy podać znak -

Wartość domyślna

+0

Dodatkowe techniczne informacje 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) co trzecim elementem typu p względem pozostałych elementów dzieci swojego typu 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) co trzecim elementem typu "p" względem pozostałych elementów dzieci swojego typu 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 .