Wyszukaj / o blogu

CSS::pseudo-elementy

Opublikowano czw 02 kwietnia 2020 w css • 2 min read

Pseudo elementy pozwalają na zadeklarowanie wyglądu odmiennego dla wybranego fragmentu tekstu lub wstawienie z pozycji CSS dodatkowego elementu. Pseudo elementy poprzedzone są podwójnym dwukropkiem :: np. ::first-line

Wzór zastosowania (za developer.mozzilla.org)

selector::pseudo-element {
  property: value;
}

selektor::pseudo-element {
  właściwość: wartość;
}

Innymi słowy pseudoelement jest słowem kluczowym, które w połączeniu z wybranym selektorem pozwala na stylowanie wybranej części wybranego elementu.

  • stylowanie pierszej litery lub linii
  • wstawianie nowego elementu (np. obrazu)

Przykładowe zastosowanie

p::first-line {
  color: blue;
  text-transform: uppercase;
}

::first-line - pozwala na zadeklarowanie konkretnych cech dla pierwszej linii wybranego tekstu [na marginesie przykładowo do identacji tekstu nie trzeba stosować pseudo-elementów, wystarczy np text-indent ]

Do pseudo-selektorów można dodać odpowiednio np. - font, color, word-spacing, background, text-decoration, line-height

::first-letter - zadeklarowanie konkretnej cechy dla pierwszej litery

::after - reprezentuje ostatnie dziecko wybranego elementu/ podstawową właściwością jest content w ramach, której definiowana jest zawartość dodawanego elementu np. tekst lub link do obrazu

Przykładowe zastosowanie dodające określony tekst po tekście zawartym w wybranym paragrafie

p::after {
  content: this text will be added after;
  color: blue;
}

.eye::after {
content: url(../assets/Eye.svg);

}

::before- tworzy pseudo-element, który reprezentuje pierwsze dziecko wybranego selektora HTML, posiada właściwość content analogiczną do ::after

::selection - odwołuje się do podświetlenia wybranego tekstu znajdującego się w selekcji

Przykładowe zastosowanie

p::selection {
  background-color: red;
}

ale może zawierać również: color, background-color, cursor, caret-color, outline, text-decoration, text-emphasis-color, text-shadow

::marker - pozwala na stylowanie markera listy

Przykładowe zastosowanie

ul li::marker {
  color: red;
  font-size: 150%;
}

::placeholder - pozwala na stylowanie fragmentu formularza który przyjmuje input

Przykładowe zastosowanie

input::placeholder {
color: red;
font-size: 1.2em;
font-style: italic;
}

Pełna lista (łącznie z jeszcze nie w pełni wdrożonymi pseudoelementeami) znajduje się tutaj


Źródło i polecane linki:

https://blog.logrocket.com/a-guide-to-css-pseudo-elements/

https://developer.mozilla.org/en-US/docs/Web/CSS/Pseudo-elements

https://www.w3schools.com/css/css_pseudo_elements.asp

https://css-tricks.com/almanac/selectors/a/after-and-before/

https://css-tricks.com/pseudo-element-roundup/