W CSS wyróżnia się m.in. klasy, selektory atrybutów, relacje między elementami (np. sąsiedztwo) oraz pseudoelementy. Do sformatowania konkretnej części elementu (np. pierwszej litery, pierwszej linii) służą właśnie pseudoelementy.
Odpowiedź "pseudoelementu p::first-letter" jest poprawna, bo ::first-letter wskazuje pierwszą literę tekstu w elemencie (typowo blokowym), a poprzedzenie go selektorem typu p zawęża działanie do akapitów <p>. Dzięki temu można uzyskać efekt inicjału: większy rozmiar, inny kolor, font lub margines dla pierwszej litery akapitu.
Dlaczego pozostałe propozycje są błędne:
- "dziecka p + first-letter" miesza pojęcia. Znak + w CSS to selektor sąsiedniego rodzeństwa (adjacent sibling), a first-letter bez prefiksu :: nie jest poprawnym pseudoelementem.
- "atrybutu p [first-letter]" to składnia selektora atrybutu (nawiasy kwadratowe), używana do wyboru elementów z danym atrybutem HTML. "first-letter" nie jest standardowym atrybutem elementu <p> i nie spełnia celu stylowania pierwszej litery.
- "klasy p.first-letter" oznacza element <p> z klasą first-letter. To działałoby tylko wtedy, gdy ręcznie dodasz taką klasę w HTML, ale nadal nie wybiera "pierwszej litery" tekstu, tylko cały element <p>.
Wskazówka egzaminacyjna: jeśli pytanie dotyczy fragmentu treści (pierwsza litera, pierwsza linia), szukaj odpowiedzi z pseudoelementem, zwykle zapisywanym z podwójnym dwukropkiem, np. ::first-letter.