KWALIFIKACJA INF3 - STYCZEŃ 2024 (test 2)

PYTANIE NR 28.
Wskaż styl CSS za pomocą którego został uzyskany przedstawiony efekt.
Ilustracja przedstawia listę punktowaną, która może być częścią pytania egzaminacyjnego związanego z kwalifikacją TECHNIK
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
:nth-child(even) to pseudoklasa strukturalna, która wybiera elementy potomne o parzystym indeksie wśród rodzeństwa. Reguła ul li:nth-child(even) ustawia tło co drugiego elementu listy na DodgerBlue. Pozostałe opcje dotyczą stanów interakcji (:hover, :active) lub wskazują elementy nieparzyste (odd).

Pełne wyjaśnienie:

W CSS o tym, które elementy dostaną dany styl, decyduje selektor. Jeśli efekt na liście polega na tym, że co drugi element <li> ma niebieskie tło, potrzebujesz selektora zależnego od pozycji elementu wśród rodzeństwa.

Do tego służy pseudoklasa strukturalna :nth-child(). Zapis li:nth-child(even) oznacza: "wybierz te elementy <li>, które są parzystym dzieckiem swojego rodzica (tu: <ul>)". Następnie deklaracja background-color: DodgerBlue; ustawia kolor tła dla wybranych elementów.

Dlaczego pozostałe odpowiedzi są błędne?

  • ul li:active:active działa tylko w momencie aktywacji elementu (np. podczas kliknięcia i przytrzymania). To efekt chwilowy, a nie stałe "pasiasto" ustawione według kolejności.
  • ul li:nth-child(odd) – to również selektor strukturalny, ale wybiera elementy nieparzyste (1., 3., 5. ...). Jeśli na ilustracji zaznaczone są parzyste pozycje, ta opcja nie pasuje.
  • ul li:hover:hover działa przy najechaniu kursorem. Taki efekt dotyczy zwykle jednego elementu naraz (tego, na którym jest kursor), a nie automatycznie co drugiego elementu bez interakcji.

Wskazówka egzaminacyjna: gdy widzisz naprzemienne tła (tzw. zebra), w pierwszej kolejności sprawdź :nth-child(even/odd), a gdy efekt pojawia się dopiero po ruchu myszą lub kliknięciu – wtedy rozważ :hover lub :active.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
Pseudoklasa :nth-child() wybiera elementy na podstawie ich pozycji wśród rodzeństwa w drzewie DOM. Przykład: li:nth-child(even) dopasuje parzyste elementy <li> w liście, co ułatwia robienie naprzemiennych teł (efekt "zebry").
:nth-child(even) wybiera elementy o numerach 2, 4, 6… wśród dzieci tego samego rodzica. Stosuje się go, gdy chcesz automatycznie wyróżnić co drugi wiersz/pozycję (np. lista <ul> albo wiersze tabeli) bez dodawania klas w HTML.
:nth-child(odd) dopasowuje dzieci o numerach 1, 3, 5… (nieparzyste), a :nth-child(even) – 2, 4, 6… (parzyste). Różnica jest kluczowa przy naprzemiennym kolorowaniu: wybór odd zamiast even "przesuwa" wzór o jeden element.
Pseudoklasa :hover działa tylko, gdy kursor myszy znajduje się nad elementem. Zwykle w danym momencie spełnia ją jeden element, więc efekt jest chwilowy i interaktywny. Naprzemienne tła dla wielu elementów naraz realizuje się selektorami strukturalnymi, np. :nth-child().
:active jest spełnione podczas aktywacji elementu (np. kliknięcia i przytrzymania przycisku/odnośnika). Na ilustracji zwykle widać wtedy efekt "w trakcie kliknięcia", a nie stałe podświetlenie wybranych pozycji. To nie jest narzędzie do kolorowania co drugiego <li>.
Najczęściej używa się selektora strukturalnego: ul li:nth-child(even) (parzyste) albo ul li:nth-child(odd) (nieparzyste). Następnie dodajesz deklarację, np. background-color: DodgerBlue;, aby ustawić tło dla dopasowanych elementów.
ul li oznacza: "wszystkie elementy <li> znajdujące się wewnątrz <ul>" (potomkowie). Dopiero potem dodajesz warunek pseudoklasy, np. :nth-child(even), aby zawęzić wybór do konkretnych pozycji wśród dzieci.
:nth-child() odnosi się do pozycji elementu wśród wszystkich dzieci danego rodzica, a nie tylko tego samego typu. W typowej liście <ul> zawierającej same <li> nie ma różnicy, ale przy mieszanych dzieciach wynik może zaskoczyć.
W narzędziach deweloperskich przeglądarki wybierz element <li> w zakładce Elements i zobacz w Styles, które reguły CSS go dotyczą. Możesz też najechać na selektor :nth-child(even), by szybko zweryfikować, które elementy są dopasowane i czy kolejność w DOM jest zgodna z oczekiwaniem.
Najczęstsze pomyłki to: zamiana even z odd, mylenie pseudoklas strukturalnych z interakcyjnymi (:hover, :active) oraz nieuwzględnienie, że :nth-child() zależy od kolejności dzieci w DOM. Warto ćwiczyć na prostych listach i tabelach.
info

Około 63% zdających odpowiada poprawnie na to pytanie. średnie

W praktyce zawodowej kluczowe jest to, że :nth-child(even) to pseudoklasa strukturalna, która wybiera elementy potomne o parzystym indeksie wśród rodzeństwa.

Źródła:

  • MDN Web Docs: "background-color" (CSS) – https://developer.mozilla.org/en-US/docs/Web/CSS/background-color (accessed 2026-02-18)
  • MDN Web Docs: ":nth-child()" (CSS) – https://developer.mozilla.org/en-US/docs/Web/CSS/:nth-child (accessed 2026-02-18)
  • MDN Web Docs: ":hover" (CSS) – https://developer.mozilla.org/en-US/docs/Web/CSS/:hover (accessed 2026-02-18)

Materiały:

  • Dokumentacja MDN: selektory CSS i pseudoklasy
  • Ćwiczenia: stylowanie list i tabel z użyciem :nth-child()
  • Kurs/rozdział o selektorach CSS (podstawy i selektory zaawansowane)

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego