KWALIFIKACJA INF3 - TEST WIEDZY NR 2

PYTANIE NR 12.
Rozważ następujący fragment kodu CSS:
    p::after {
        content: "Read more...";
    }
Co robi ten kod?
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
Pseudoelement p::after tworzy treść generowaną po zawartości każdego elementu <p> podczas renderowania. Ustawienie content: "Read more..."; powoduje wyświetlenie tego tekstu po każdym paragrafie. Nie zastępuje istniejącego tekstu i nie tworzy "dziecka" w drzewie DOM.

Pełne wyjaśnienie:

Selektor p::after wskazuje pseudoelement ::after dla każdego elementu akapitu <p>. Pseudoelementy ::before i ::after służą do wstawiania tzw. treści generowanej (generated content) w procesie renderowania strony.

W tym kodzie ustawiono właściwość content na wartość tekstową "Read more...". Skutek jest taki, że po treści każdego paragrafu przeglądarka wyświetli dodatkowy napis "Read more...". To zachodzi na poziomie prezentacji (CSS), a nie poprzez edycję źródłowego HTML.

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

  • Stwierdzenie, że tekst jest dodawany jako "ostatnie dziecko" paragrafu, myli pseudoelement z węzłem DOM. Pseudoelement nie jest typowym dzieckiem w strukturze HTML; to element generowany do renderowania.
  • Teza o zastępowaniu tekstu paragrafu jest nieprawidłowa, ponieważ CSS nie podmienia istniejącej treści elementu. Właściwość content dotyczy treści pseudoelementu, a nie tekstu samego <p>.
  • Opcja mówiąca o dodaniu tekstu "przed" paragrafem dotyczy raczej pseudoelementu ::before, a nie ::after.

Wskazówka egzaminacyjna: zapamiętaj prostą regułę: ::before = przed zawartością elementu, ::after = po zawartości elementu. Jeśli w odpowiedzi pojawiają się sformułowania o modyfikacji DOM lub "zamianie tekstu", to zwykle jest to pułapka.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
::after to pseudoelement CSS, który pozwala wygenerować dodatkową treść wyświetlaną po zawartości wskazanego elementu. Działa na etapie renderowania, więc zwykle nie zmienia HTML w kodzie źródłowym, tylko sposób prezentacji w przeglądarce.
Właściwość content określa, jaka treść ma zostać wstawiona do pseudoelementów (np. ::before, ::after). Najczęściej jest to tekst w cudzysłowie, ale może to być też np. pusta treść ("") lub inne typy wartości zależnie od kontekstu.
Bo ::after oznacza treść generowaną po zawartości elementu. Jeśli chcesz dodać coś przed tekstem paragrafu, używa się zwykle p::before. To rozróżnienie jest jedną z najczęstszych rzeczy sprawdzanych na testach.
Zwykle nie. Pseudoelementy są częścią mechanizmu stylowania i renderowania, a nie edycji dokumentu HTML. W praktyce użytkownik widzi dodatkowy tekst, ale w drzewie DOM nie pojawia się zwykły element potomny. To ważne np. przy testach JS i automatyzacji.
Najczęściej używa się ich do elementów dekoracyjnych i etykiet: ikony przy linkach, separatory, znaczniki "NOWOŚĆ", gwiazdki przy polach wymaganych, cudzysłowy w cytatach. Dzięki temu nie trzeba zaśmiecać HTML dodatkowymi elementami tylko do wyglądu.
W typowym zastosowaniu content działa dla pseudoelementów (np. ::before, ::after) i nie służy do podmiany tekstu zwykłego elementu. Jeśli celem jest realna zmiana treści, robi się to w HTML lub skryptem (np. JavaScript).
W DevTools wybierz element <p> i sprawdź zakładkę Styles/Computed. Zobaczysz regułę dla p::after oraz ustawione content. Często pseudoelement jest też widoczny w panelu elementów jako węzeł "::after", co ułatwia diagnozę.
Najczęstsze pomyłki to: mylenie ::after z ::before, uznanie że CSS zastępuje istniejący tekst elementu, oraz traktowanie pseudoelementu jak normalnego dziecka DOM. Na egzaminie warto czytać uważnie słowa "przed" i "po".
Może nie być widoczny, gdy pseudoelement nie ma jak się wyświetlić (np. brak odpowiedniego kontekstu, nietrafiony selektor, nadpisanie stylów) lub gdy content jest ustawione na none. Czasem problemem jest też kolor/rozmiar/pozycjonowanie, przez co treść jest "ukryta".
Treść z HTML zobaczysz bezpośrednio w kodzie dokumentu i w DOM jako węzeł tekstowy. Treść generowana CSS pojawia się w stylach jako ::before/::after z content. W praktyce: sprawdzaj DevTools oraz to, czy po wyłączeniu CSS tekst znika.
info

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

Eksperci podkreślają: "Pseudoelement p::after tworzy treść generowaną po zawartości każdego elementu &lt;p&gt; podczas renderowania."

Źródła:

  • MDN Web Docs: "::after (:after)" — opis pseudoelementu i jego zachowania, https://developer.mozilla.org/en-US/docs/Web/CSS/::after (dostęp: 2026-03-01)
  • MDN Web Docs: "content" — właściwość CSS dla treści generowanej, https://developer.mozilla.org/en-US/docs/Web/CSS/content (dostęp: 2026-03-01)
  • W3C / Selectors Level 3: sekcja o pseudoelementach (::before, ::after), https://www.w3.org/TR/selectors-3/#pseudo-elements (dostęp: 2026-03-01)

Materiały:

  • Dokumentacja MDN: pseudoelementy CSS (szczególnie ::after i ::before)
  • Dokumentacja MDN: właściwość CSS content
  • Specyfikacja W3C Selectors (rozdział o pseudoelementach)

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego