Pseudoelement CSSPseudoelementy

::selection

Zmienia wygląd fragmentu tekstu zaznaczonego przez użytkownika myszą lub klawiaturą.

Na tej stronie

Przykład

#
CSS
::selection {
  background: #7c3aed;
  color: #fff;
}

.code::selection {
  background: #f59e0b;
  color: #0c0c10;
}
Podgląd

Każdy fragment ma inny kolor zaznaczenia: akapit fioletowy, a blok kodu pomarańczowy.

Definicja i zastosowanie

#

Pseudoelement ::selection odpowiada za fragment dokumentu, który użytkownik zaznaczył, np. przeciągając kursorem po tekście albo klikając dwukrotnie w słowo. Możesz zmienić kolor tła zaznaczenia i kolor tekstu, żeby pasowały do stylu strony.

Lista obsługiwanych właściwości jest krótka: przede wszystkim color i background-color, a według specyfikacji także dekoracja i cień tekstu. Marginesy, obramowania czy zmiana czcionki są ignorowane, bo zaznaczenie nie może zmieniać układu tekstu.

Reguła bez niczego przed dwukropkami (::selection) działa na całej stronie, a z selektorem, np. .code::selection, tylko w wybranym elemencie. Zadbaj o czytelny kontrast między tłem zaznaczenia a tekstem i nie ustawiaj przezroczystego tła, bo użytkownik straci informację, co zaznaczył.

Składnia

#
Składnia
selektor::selection { color: …; background-color: …; }

Warianty zapisu

#
  • ::selection

    Bez selektora przed dwukropkami styl działa na całej stronie. Zaznacz tekst w obu akapitach.
  • .demo::selection

    Żółte zaznaczenie jak zakreślaczem, tylko w akapicie z klasą demo. Drugi akapit zostaje domyślny.

Warianty zapisu w praktyce

#

::selection

Bez selektora przed dwukropkami styl działa na całej stronie. Zaznacz tekst w obu akapitach.
::selection { background: #7c3aed; color: #fff; }

.demo::selection

Żółte zaznaczenie jak zakreślaczem, tylko w akapicie z klasą demo. Drugi akapit zostaje domyślny.
.demo::selection { background: #fde047; color: #0c0c10; }

Obsługa przeglądarek

#

Szeroko dostępne

Działa we wszystkich nowoczesnych przeglądarkach, także na telefonach. Możesz używać bez obaw.

  • Chrome
  • Edge
  • Firefox
  • Safari

Dobre praktyki

#
  • Zachowaj wyraźny kontrast między tekstem a tłem zaznaczenia. Zaznaczony fragment musi być równie czytelny jak reszta.
  • Nie ukrywaj zaznaczenia przezroczystym tłem. Jeśli tekstu nie powinno się zaznaczać, na przykład w przycisku, użyj user-select: none.

Powiązane hasła

#

Widzisz błąd albo brakuje przykładu? Napisz do nas.