KWALIFIKACJA INF3 - STYCZEŃ 2024

PYTANIE NR 10.
Przedstawiono efekt formatowania CSS oraz kod HTML. Jak należy zdefiniować styl, aby osiągnąć takie formatowanie?
Ilustracja przedstawia przykład formatowania tekstu przy użyciu CSS oraz odpowiadający mu kod HTML.
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
Wymagany efekt (zmiana wyglądu pierwszej litery w akapicie) realizuje pseudoelement ::first-letter zastosowany do selektora typu p. Zapis z kropką lub # oznacza klasę albo identyfikator i zadziała tylko, gdy elementy w HTML mają odpowiednio class/id, a to nie jest równoważne "pierwszej literze".

Pełne wyjaśnienie:

Aby uzyskać efekt polegający na sformatowaniu pierwszej litery tekstu (np. bardzo duży niebieski inicjał na początku akapitu), w CSS stosuje się pseudoelement ::first-letter. Pseudoelement "wybiera" fragment treści elementu (tu: pierwszą literę), a nie cały element ani element oznaczony klasą.

Dlaczego poprawna jest reguła p::first-letter { ... }?
Selektor p ogranicza działanie do akapitów <p>, a ::first-letter wskazuje dokładnie pierwszą literę renderowanego tekstu w każdym takim akapicie. Wtedy właściwości, np. font-size: 400% i color: blue, dotyczą tylko tej litery.

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

  • .first-letter to selektor klasy. Zadziała wyłącznie na elementach, które mają class="first-letter". Nie wybiera automatycznie pierwszej litery tekstu.
  • #first-letter to selektor identyfikatora. Dotyczy jednego elementu z id="first-letter". Również nie oznacza "pierwszej litery".
  • p.first-letter wybiera tylko te akapity <p>, które mają klasę first-letter. Nadal styluje cały akapit, a nie jego pierwszą literę (chyba że dodatkowo użyto by pseudoelementu).

Wskazówka egzaminacyjna: jeśli w odpowiedziach pojawia się zapis z podwójnym dwukropkiem (::), sprawdź, czy pytanie dotyczy fragmentu elementu (litera, linia, znacznik listy). To zwykle sygnał, że chodzi o pseudoelement, a nie o klasę/identyfikator.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
Pseudoelement ::first-letter pozwala ostylować pierwszą literę tekstu w wybranym elemencie (np. w <p>). Stosuje się go do efektów typograficznych, np. inicjału. Działa na część treści, a nie na cały element HTML.
Użyj selektora elementu i pseudoelementu, np. p::first-letter. Dzięki temu reguła dotyczy wszystkich akapitów <p> i tylko ich pierwszej litery. Klasa lub id nie zapewniają automatycznie wyboru pierwszej litery.
.first-letter oznacza klasę CSS i działa tylko na elementy z atrybutem class. ::first-letter to pseudoelement, który wybiera fragment treści (pierwszą literę). Sama nazwa "first-letter" w klasie nie nadaje jej specjalnego znaczenia.
Nie. Selektor #first-letter wybiera element o atrybucie id="first-letter". Jeśli w HTML nie ma takiego id, reguła nie zadziała. To inny mechanizm niż pseudoelementy, które działają na część tekstu elementu.
Najczęściej używa się font-size, color, czasem font-weight i font-family, aby uzyskać inicjał. W praktyce warto sprawdzić wygląd dla różnych czcionek i długości akapitu, bo efekt jest typograficzny.
Klasy używaj, gdy chcesz ostylować cały element (np. cały akapit) lub tylko wybrane akapity. Pseudoelement ::first-letter jest właściwy, gdy styl ma dotyczyć fragmentu tekstu (pierwszej litery) i ma działać automatycznie.
Zapis p.first-letter wybiera elementy <p>, które mają klasę first-letter. Styl dotyczy wtedy całego akapitu, nie tylko pierwszej litery. Żeby ostylować pierwszą literę, trzeba by użyć dodatkowo ::first-letter.
Tak, pseudoelement można zastosować do różnych elementów tekstowych, np. h1::first-letter. Warunkiem jest, aby element miał renderowany tekst. Zasada pozostaje taka sama: styl dotyczy pierwszej litery treści danego elementu.
Najczęstsze pomyłki to: mylenie klasy (.) z id (#), traktowanie nazwy selektora jako "magicznej", oraz nierozróżnianie pseudoelementów (::) od zwykłych selektorów. Warto zawsze sprawdzić, co jest wybierane: element, atrybut czy fragment treści.
W odpowiedziach szukaj zapisu z podwójnym dwukropkiem, np. ::first-letter lub ::first-line. To zwykle oznacza pseudoelement, czyli wybór części treści. Kropka (.) i # wskazują odpowiednio klasę i identyfikator, a nie fragment tekstu.
info

To pytanie poprawnie rozwiązuje 48% zdających egzamin. trudne

W praktyce zawodowej kluczowe jest to, że wymagany efekt (zmiana wyglądu pierwszej litery w akapicie) realizuje pseudoelement ::first-letter zastosowany do selektora typu p.

Źródła:

  • MDN Web Docs: "::first-letter" (CSS) — https://developer.mozilla.org/en-US/docs/Web/CSS/::first-letter - dostęp 2026-02-18
  • MDN Web Docs: "CSS selectors" — https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_selectors - dostęp 2026-02-18
  • MDN Web Docs: "Class selectors" — https://developer.mozilla.org/en-US/docs/Web/CSS/Class_selectors - dostęp 2026-02-18

Materiały:

  • Dokumentacja MDN: pseudoelement ::first-letter
  • Dokumentacja MDN: selektory CSS (typ, klasa, id)
  • Ćwiczenia praktyczne: arkusz stylów z pseudoelementami i pseudoklasami

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego