Pseudoelementy CSS Before, After i inne - Kompleksowa Lista i Wyjaśnienie - Shebang

Pseudoelementy CSS

Pseudoelementy CSS to abstrakcyjne elementy reprezentujące pewne części dokumentu HTML, do których nie ma łatwego dostępu lub do których w ogóle nie da się odnieść przy użyciu zwykłych selektorów CSS.

Powiedzmy na przykład, że chcemy nadać specjalne formatowanie pierwszej literze akapitu albo pierwszemu wierszowi akapitu. W przypadku pierwszej litery akapitu można zastosować element span, ale umieszczanie w nim pierwszej litery każdego interesującego nas akapitu byłoby uciążliwe i niepotrzebnie zwiększałoby objętość kodu HTML.

Z pierwszym wierszem byłoby jeszcze trudniej, ponieważ jego długość zmienia się w zależności od wielu czynników, takich jak na przykład szerokość okna przeglądarki. Nie da się więc z góry określić, które słowa akapitu stanowią jego pierwszy wiersz, ponieważ w każdej sytuacji może być ich mniej lub więcej.

W obu tych przypadkach najprostszym i najskuteczniejszym rozwiązaniem jest użycie właśnie pseudoelementów, odpowiednio ::first-letter (pierwsza litera) i ::first-line (pierwszy wiersz).

Pseudoelementy CSS — składnia

Składnia pseudoelementu ma postać dwóch dwukropków i identyfikatora (nazwy):

::nazwa-pseudoelementu {deklaracje}

Między dwukropkami a także między nimi i nazwą pseudoelementu nie może być żadnych odstępów. Ponadto w nazwach pseudoelementów nie jest rozróżniana wielkość liter, dlatego wszystkie poniższe wersje są prawidłowe według zasad składni CSS:

::first-line
::First-Line
::fIrsT-LiNe
::FIRST-LINE

Jednak to, że coś jest dozwolone, nie oznacza, że należy to robić. Dlatego lepiej trzymać się tradycyjnego zapisu nazw pseudoelementów samymi małymi literami. Dzięki temu kod jest czytelniejszy i łatwiejszy do zrozumienia.

Pseudoelementy w selektorach złożonych

Ogólna zasada jest taka, że selektor złożony może zawierać tylko jeden pseudoelement, który musi być jego ostatnim członem. Wynika to z tego, że pseudoelementy nie są „prawdziwymi elementami” obecnymi w DOM, a więc nie mogą być wybierane przez selektory. Od tej reguły są jednak wyjątki.

Niektóre pseudoelementy mogą być tzw. elementami źródłowymi (ang. originating element) innych pseudoelementów, które w takim przypadku noszą nazwę podpseudopodelementów (ang. sub-pseudo-element.

Kiedy na przykład typ prezentacji pseudoelementów ::before i ::after zostanie ustawiony na list-item (tzn. display: list-item), to stają się one elementami źródłowymi pseudoelementu ::marker, w efekcie czego można używać podpseudoelementów ::before::marker i ::after::marker.

Pseudoelementy z pseudoklasami

Pseudoelementy można łączyć z pseudoklasami w jednym selektorze, ale tylko, jeśli pseudoklasa znajduje się przed pseudoelementem. Inaczej mówiąc, pseudoelement może wybrać część elementu znajdującą się w określonym stanie reprezentowanym przez pseudoklasę, ponieważ ma ona reprezentację w strukturze DOM, natomiast pseudoklasa nie może wybrać części elementu reprezentowanej przez pseudoelement, ponieważ ten nie ma reprezentacji w DOM. Spójrz na poniższy przykład:

p:hover::first-letter {color: red}

W tym przypadku pseudoelement ::first-letter odnosi się do pierwszej litery elementu p, na który najechano kursorem myszy (znajdującego się w stanie :hover).

A teraz spójrz na poniższy przykład, który jest nieprawidłowy:

p::first-letter:hover {color: red}

W tym przypadku pseudoklasa :hover nie wybierze tego, do czego odnosi się pseudoelement ::first-letter (czyli pierwszej litery akapitu).

Lista pseudoelementów

Definicje pseudoelementów CSS są rozrzucone po kilku specyfikacjach CSS. Niektóre z nich są we wczesnej fazie rozwoju, inne są już w stabilnym i dojrzałym stanie. Poniżej znajduje się lista pseudoelementów CSS, które są już obsługiwane przynajmniej przez część przeglądarek. Kliknij nazwę wybranego pseudoelementu, aby przejść do strony z jego szczegółowym opisem.

::after
Wstawia treść za wybranym elementem
::backdrop
Reprezentuje pole o wielkości obszaru widoku renderowane pod elementem wyświetlonym jako warstwa wierzchnia
::before
Wstawia treść przed wybranym elementem
::cue
Reprezentuje napisy w filmach w formacie WebVTT
::file-selector-button
Reprezentuje przycisk służący do wyboru pliku do przesłania na serwer
::first-letter
Wybiera pierwszą literę treści wybranego elementu
::first-line
Wybiera pierwszy wiersz treści wybranego elementu
::marker
Odnosi się do pól elementów listy
::part()
Reprezentuje element Shadow Tree, który ma pasujący atrybut part
::placeholder
Reprezentuje tekst zastępczy w polu tekstowym lub obszarze tekstowym
::selection
Odnosi się do tekstu zaznaczonego na stronie przez użytkownika
::target-text
Wybiera fragment tekstu, do którego przeglądarka przewinęła stronę na podstawie technologii dyrektyw fragmentów tekstu w adresach URL (URL Fragment Text Directives)
Udostępnij:
Share

Podobał Ci się ten artykuł?

Oceń go!

Średnia 5 / 5. Liczba głosów: 2

Jeszcze nikt nie głosował. Wyprzedź innych i zagłosuj.

Skoro spodobał Ci się ten artykuł...

Poleć go znajomym!

Ojej :( Powiedz nam, co powinniśmy poprawić!

blank
Podoba Ci się ta strona?

Pomóż nam się rozwijać, wykupując płatne konto. Dzięki temu będziemy mogli tworzyć dla Ciebie jeszcze więcej ciekawych treści, a Ty pozbędziesz się reklam.

Autor: Łukasz Piwko

Dodaj komentarz

Pseudolementy CSS

Poznaj narzędzie, jakim są pseudoelementy CSS! Właściwie zastosowany selektor after CSS oraz inne pseudoelementy mogą całkowicie zmienić wygląd Twojej strony bez ingerencji w kod HTML. To rozwiązanie, które znacząco zwiększa możliwości stylizacji przy jednoczesnym zachowaniu czystego, semantycznego kodu.

Czym są pseudoelementy CSS i jak działają?

Pseudoelementy CSS to specjalne selektory, które pozwalają stylizować określone części elementów HTML bez konieczności dodawania dodatkowych znaczników. W przeciwieństwie do klas czy identyfikatorów, pseudoelementy CSS działają, jakby "tworzyły" nowe elementy w drzewie DOM, które możesz stylizować niezależnie. Nauka tworzenia stron internetowych to pasjonująca podróż - dzięki temu dowiesz się, że pseudoelementy CSS są niezastąpione, gdy chcesz:

  • dodać ozdobne elementy graficzne bez obciążania HTML,
  • tworzyć zaawansowane efekty typograficzne,
  • implementować rozwiązania, które byłyby trudne do osiągnięcia samym HTML,
  • utrzymać czysty i semantyczny kod struktury strony.

Najpopularniejsze pseudoelementy to before CSS oraz after CSS, ale pełna lista pseudoelementów CSS zawiera więcej użytecznych selektorów. Warto opanować je wszystkie, jeśli myślisz poważnie o projektowaniu stron internetowych. Jeśli dopiero zaczynasz przygodę z tworzeniem stron, kurs HTML dla początkujących będzie świetnym miejscem, by zbudować solidne podstawy.

Before CSS i After CSS - najczęściej używane pseudoelementy

Pseudoelementy before CSS i after CSS są najczęściej wykorzystywanymi pseudoelementami w codziennej pracy front-end developera. Oba działają na podobnej zasadzie - dodają zawartość przed lub po zawartości wybranego elementu. Aby skutecznie wykorzystać before CSS lub after CSS, musisz zdefiniować właściwość content, nawet jeśli ma być pusta (content: ""). Typowe zastosowania pseudoelementów before CSS i after CSS obejmują:

  1. tworzenie dekoracyjnych elementów graficznych,
  2. implementację niestandardowych list i markerów,
  3. dodawanie ikon bez obciążania HTML,
  4. tworzenie efektów hover bez dodatkowego JavaScript.

Warto pamiętać, że pseudoelementy CSS muszą być powiązane z rzeczywistym elementem HTML - nie mogą istnieć samodzielnie. Jeśli chcesz lepiej zrozumieć, czym jest CSS i jak działa w powiązaniu z HTML, ten rozdział wyjaśni Ci podstawowe koncepcje.

Lista pseudoelementów CSS i ich praktyczne zastosowania

Poza znanymi pseudoelementami before CSS i after CSS istnieje cała lista pseudoelementów CSS, które warto znać i wykorzystywać. Każdy z nich rozwiązuje specyficzne problemy projektowe. Zanim zaczniesz eksperymentować z zaawansowanymi technikami, upewnij się, że opanowałeś podstawy CSS. Oto najważniejsze pseudoelementy CSS i ich zastosowania:

  • ::first-line - pozwala stylizować pierwszą linię tekstu w akapicie;
  • ::first-letter - umożliwia tworzenie efektownych inicjałów i kapitalików;
  • ::selection - kontroluje wygląd zaznaczonego przez użytkownika tekstu;
  • ::placeholder - stylizuje tekst placeholder w polach formularzy;
  • ::marker - pozwala dostosować wygląd punktora w elementach listy.

Poznanie pełnej listy pseudoelementów CSS znacząco poszerzy Twoje możliwości jako projektanta interfejsów. Warto pamiętać, że niektóre pseudoelementy CSS mają ograniczone wsparcie w starszych przeglądarkach, dlatego zawsze sprawdzaj kompatybilność przed implementacją.

Pseudoelementy CSS są nieocenionym narzędziem w arsenale każdego front-end developera. Wraz z pseudoklasami tworzą potężny system selektorów, który pozwala na precyzyjne celowanie w elementy strony bez rozbudowywania struktury HTML. Jeśli chcesz pogłębić swoją wiedzę na temat CSS, sprawdź nasz darmowy kurs CSS, gdzie znajdziesz więcej praktycznych przykładów użycia pseudoelementów CSS w codziennych projektach.