KWALIFIKACJA INF3 - CZERWIEC 2022 (test 2)

PYTANIE NR 8.
Jak zdefiniować w języku CSS takie formatowanie tabeli, żeby wiersz, na którym aktualnie znajduje się kursor myszy, zmieniał kolor tła na szary?
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
Poprawna reguła używa pseudoklasy :hover, która działa, gdy kursor znajduje się nad elementem. Aby "wiersz zmienił kolor tła", trzeba ustawić background-color, a nie color (to kolor tekstu). Pseudoklasa :active dotyczy zwykle momentu kliknięcia i przytrzymania.

Pełne wyjaśnienie:

W CSS do reagowania na najechanie kursorem myszy służy pseudoklasa :hover. Gdy użytkownik przesuwa kursor nad element (tu: wiersz tabeli tr), selektor tr:hover zaczyna pasować, a przeglądarka stosuje zadeklarowane style.

Żeby wiersz "zmieniał kolor tła na szary", należy modyfikować właściwość background-color, ponieważ odpowiada ona za wypełnienie tła elementu. Właściwość color zmienia wyłącznie kolor tekstu, więc nie spełnia warunku o tle.

Dlatego poprawny zapis to:

tr:hover { background-color: gray;
}

Dlaczego pozostałe propozycje nie pasują?

  • Warianty z :active odnoszą się do stanu aktywacji (zwykle podczas kliknięcia/przytrzymania), a nie samego najechania kursorem, więc efekt nie będzie zgodny z poleceniem.
  • Warianty z color: gray zmieniają barwę tekstu w wierszu, a nie tło, więc wizualnie "podświetlenie wiersza" nie nastąpi tak, jak oczekiwano.

W praktyce podświetlanie wierszy tabel poprawia czytelność interfejsu (np. listy rekordów w panelu admina). Warto też pamiętać, że czasem dla pełnego efektu stosuje się podobne reguły dla komórek (td, th), zależnie od modelu renderowania tabeli w przeglądarce.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
Pseudoklasa :hover dopasowuje element wtedy, gdy użytkownik wskaże go kursorem myszy (najechanie). Dzięki temu można np. zmienić tło wiersza tabeli lub wygląd linku bez klikania. Działa dynamicznie i wraca do stanu bazowego po zjechaniu kursorem.

Najczęściej stosuje się selektor tr:hover i ustawia tło przez background-color, np.:

tr:hover { background-color: gray; }

To powoduje zmianę tła wiersza tylko w momencie, gdy kursor znajduje się nad danym wierszem.

background-color zmienia kolor tła elementu, czyli efekt "podświetlenia". color zmienia wyłącznie kolor tekstu w komórkach. Jeśli zadanie mówi o kolorze tła, użycie color nie spełnia warunku, nawet jeśli tekst stanie się szary.
Pseudoklasa :active dotyczy elementu w chwili aktywacji, zwykle podczas kliknięcia (np. przytrzymania przycisku myszy). To inny stan niż najechanie kursorem. Dlatego :active nie jest właściwa, gdy wymagany jest efekt wyłącznie po najechaniu.
Tak, selektor tr:hover działa dla wiersza jako elementu. W praktyce przeglądarki renderują tło tabeli w określony sposób, więc czasem dla pełnej zgodności wizualnej stosuje się także regułę dla komórek, np. tr:hover td. Na egzaminie zwykle wystarcza poprawne użycie background-color.
Używa się pseudoklasy strukturalnej :nth-child(), np. tr:nth-child(even) dla parzystych. To daje efekt "zebr" w tabeli. Można to łączyć z :hover, aby wiersz był wyróżniony po najechaniu niezależnie od koloru bazowego.
Najpierw ustalasz styl bazowy tabeli (obramowania, odstępy, tło), a potem dodajesz regułę interakcji: tr:hover. Dzięki temu tabela ma stały wygląd, a tylko aktywny (wskazany) wiersz zmienia tło. Ważne jest, by reguła :hover miała odpowiednią specyficzność.
Na urządzeniach dotykowych zachowanie :hover bywa inne niż na komputerze (brak "najechania" kursorem). Często efekt pojawia się po dotknięciu lub nie działa wcale zależnie od przeglądarki. W aplikacjach produkcyjnych warto projektować interakcje tak, by działały też bez hover.
Najczęściej myli się :hover z :active (kliknięcie zamiast najechania) oraz background-color z color (tło vs tekst). Zdarza się też stylowanie niewłaściwego selektora (np. td zamiast tr), co zmienia efekt wizualny i może być uznane za niezgodne z poleceniem.
W narzędziach deweloperskich przeglądarki (DevTools) można wymusić stan elementu, np. zaznaczyć :hover w panelu stylów. Dzięki temu zobaczysz, czy reguła się aktywuje i czy background-color nadpisuje inne style. To szybki sposób na diagnozę konfliktów specyficzności.
info

Statystycznie 71% uczniów zna prawidłową odpowiedź. średnio łatwe

Eksperci podkreślają: "Poprawna reguła używa pseudoklasy :hover, która działa, gdy kursor znajduje się nad elementem."

Źródła:

  • MDN Web Docs: ":hover" (CSS) — https://developer.mozilla.org/en-US/docs/Web/CSS/:hover (dostęp: 2026-03-02)
  • MDN Web Docs: "background-color" — https://developer.mozilla.org/en-US/docs/Web/CSS/background-color (dostęp: 2026-03-02)
  • MDN Web Docs: ":active" (CSS) — https://developer.mozilla.org/en-US/docs/Web/CSS/:active (dostęp: 2026-03-02)

Materiały:

  • Dokumentacja MDN: pseudoklasy CSS, w szczególności :hover i :active
  • Dokumentacja MDN: właściwości color i background-color
  • Ćwiczenia praktyczne: stylowanie tabel (selektory dla tr, td, th) i testowanie stanów interakcji w przeglądarce

Aktualizacja pytania: 03.04.2026



Aktualizacja pytania: 03.04.2026
📡 Brak połączenia internetowego