KWALIFIKACJA INF3 - CZERWIEC 2016

PYTANIE NR 8.
W języku CSS zapis

p::first-line {font-size: 150%;}

użyty na stronie, na której jest kilka paragrafów, a każdy z nich ma po kilka linii sprawi, że
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
Pseudo-element ::first-line pozwala ostylować wyłącznie pierwszą linię tekstu w każdym pasującym elemencie blokowym. Reguła p::first-line { font-size: 150%; } ustawia rozmiar czcionki pierwszej linii każdego paragrafu na 150% rozmiaru bazowego, a kolejne linie pozostają bez tej zmiany.

Pełne wyjaśnienie:

Pseudo-element ::first-line w CSS służy do formatowania pierwszej, faktycznie wyrenderowanej linii tekstu w elemencie. Oznacza to, że przeglądarka wyznacza, gdzie kończy się pierwszy wiersz na podstawie dostępnej szerokości, użytej czcionki i łamania wierszy. Następnie tylko ten fragment może otrzymać wskazane style.

Selektor p::first-line dopasowuje więc pierwszą linię każdego elementu p na stronie. Deklaracja font-size: 150% nie oznacza "powiększ o 150%", tylko "ustaw rozmiar na 150% wartości bazowej", czyli np. przy 16px bazowo da efekt 24px (1,5 × 16px) dla tej pierwszej linii.

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

  • Stwierdzenie o mniejszej czcionce przeczy wprost wartości 150%, która zwiększa rozmiar.
  • Teza, że tylko pierwszy paragraf będzie powiększony, wynika z mylenia słowa "first" z "pierwszym elementem w dokumencie". Tutaj "first-line" dotyczy pierwszej linii w każdym paragrafie, bo selektor obejmuje wszystkie p.
  • Stwierdzenie, że całość tekstu paragrafu będzie powiększona, myli pseudo-element (fragment elementu) z selektorem całego elementu. ::first-line nie obejmuje całej zawartości, tylko pierwszy wiersz.

Wskazówka egzaminacyjna: jeśli w selektorze widzisz ::, zwykle jest to pseudo-element (część elementu), więc spodziewaj się działania "na fragmencie", a nie na całym bloku.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
::first-line pozwala nadać style tylko pierwszej linii tekstu w elemencie (np. w akapicie). "Pierwsza linia" jest wyznaczana przez przeglądarkę po złamaniu tekstu w zależności od szerokości kontenera, fontu i rozmiaru czcionki.
Selektor p::first-line stosuje regułę do wszystkich elementów p na stronie, ale tylko do ich pierwszej linii. Każdy akapit ma swoją "pierwszą linię", więc efekt pojawi się wielokrotnie, nie tylko w jednym miejscu.
Ponieważ styl jest przypięty do pseudo-elementu, a pseudo-element obejmuje tylko fragment elementu. ::first-line obejmuje wyłącznie pierwszy wiersz tekstu, więc tylko ten wiersz dostaje font-size: 150%, a reszta pozostaje bez zmiany.
Wartość procentowa ustawia rozmiar czcionki względem rozmiaru bazowego (dziedziczonego). 150% oznacza 1,5×. Przykładowo, jeśli element ma bazowo 16px, to 150% da 24px dla obszaru, do którego reguła się stosuje.
"Pierwsza linia" zmienia się, gdy zmieni się łamanie wierszy, np. po zmianie szerokości okna, rozmiaru fontu, marginesów lub układu (RWD). To ważne: pseudo-element działa dynamicznie, bo zależy od renderowania, a nie od stałego podziału tekstu.
Najczęściej używa się właściwości typograficznych, np. font-size, font-weight, color czy text-transform. Celem jest efekt wizualny w stylu "magazynowym", bez ręcznego oznaczania fragmentu w HTML.
::first-line styluje cały pierwszy wiersz, a ::first-letter tylko pierwszy znak (literę) w elemencie. Oba zależą od sposobu renderowania, ale testują inne umiejętności: wiersz vs pojedynczy znak (np. inicjał w tekście).
Zwykle pseudo-element ::first-line stosuje się do elementów blokowych (np. akapitu). Dla elementów inline zachowanie bywa ograniczone i zależne od tego, czy przeglądarka traktuje dany fragment jako tworzący linię w kontekście layoutu. Na egzaminie przyjmuj typowy przypadek: akapit.
To częsty skrót myślowy: słowo "first" kojarzy się z "pierwszym elementem w HTML". W pseudo-elementach ::first-line "first" odnosi się do części każdego dopasowanego elementu, a nie do pierwszego wystąpienia elementu w dokumencie.
Zwróć uwagę na zapis z podwójnym dwukropkiem :: i nazwę typu first-line, before, after. To sygnał, że reguła dotyczy fragmentu elementu. Wtedy odpowiedzi mówiące o "całym akapicie" zwykle są pułapką.
info

Statystycznie 58% uczniów zna prawidłową odpowiedź. średnie

W praktyce zawodowej kluczowe jest to, że pseudo-element ::first-line pozwala ostylować wyłącznie pierwszą linię tekstu w każdym pasującym elemencie blokowym.

Źródła:

  • MDN Web Docs: "::first-line" (CSS pseudo-element) — https://developer.mozilla.org/en-US/docs/Web/CSS/::first-line (dostęp: 2026-03-01)
  • W3C: Selectors Level 4 — sekcja o pseudo-elementach — https://www.w3.org/TR/selectors-4/ (dostęp: 2026-03-01)
  • MDN Web Docs: "font-size" — wartości procentowe — https://developer.mozilla.org/en-US/docs/Web/CSS/font-size (dostęp: 2026-03-01)

Materiały:

  • Dokumentacja MDN: pseudo-elementy CSS i przykłady użycia
  • Specyfikacja W3C Selectors: definicja pseudo-elementów
  • Ćwiczenia praktyczne: stylowanie tekstu w kilku akapitach z różną szerokością kontenera

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego