Moderní tvorba webových aplikací
O webu

Styl označeného textu

Pseudo-element ::selection umožňuje změnit styl kursorem označeného textu.

3 minuty

Označení textu pomocí selection

Výchozí styl výběru je většinou modré pozadí a bílý text. Pomocí stylu pro ::selection je možné toto chování změnit. Kromě důvodu čistě estetického, aby výběr ladil k designu stránky, existuje i praktický důvod – na stránce s modrým pozadím a bílým textem nebude standardní styl dobře vidět.

Před změnou si je dobré uvědomit, že uživatelé jsou na výchozí styl zvyklí, takže změna může přinést nejistotu.

Tento odstavec má nestandardní styl při výběru.

Některé prohlížeče – Firefox a Internet Explorer – dokáží výchozí barevný styl ::selection automaticky invertovat (bílé pozadí, modrý text), aby byl kontrastní k pozadí.

Kromě staré Opery 12 jde měnit barvu výběru i ve formulářových polích (<input>/<textarea>).

Zápis

Styl označení textu jde nastavit globálně pro celou stránku:

::selection {
  /* styly pro všechny výběry na stránce */
}

Nebo i pro zvláštní elementy.

.zvlastni-element::selection {
  /* styly pro .zvlastni-element */
}

Povolené vlastnosti

Pseudo-element ::selection má zabudovanou ochranu před příliš kreativními designéry, měnit tak jde pouze:

  • color – barva písma
  • background-color – barva pozadí (nejde použít obrázek a podobně), jde použít zápis zkratkou background
  • text-shadow – stín textu (nefunguje v IE a staré Opeře 12)

Podpora

Měnit styl označeného textu je možné od IE 9. Firefox vyžaduje použít -moz- prefix. Selektor s prefixem nelze spojit se selektorem bez něj. Tohle proto nebude fungovat:

::selection, ::-moz-selection {
  /* nebude fungovat */
}

Oba zápisy je nutné duplikovat:

::selection {
  color: yellow;
  background: red;
}
::-moz-selection {
  color: yellow;
  background: red;
}

Živá ukázka

Související články

Jak udělat input s automatickou šířkou podle obsahu

Několik způsobů, jak dosáhnout toho, aby se textové pole rozšiřovalo a zužovalo podle délky zadaného textu.

9 minut

Šířka znaků ve fontech

Proč mají znaky různou šířku a jak to řešit v responsivním designu.

17 minut

CSS @starting-style

Jak animovat elementy při jejich prvním zobrazení pomocí at-pravidla @starting-style.

12 minut

CSS pseudo element ::marker

CSS pseudo element ::marker umožňuje stylovat odrážky seznamů

4 minuty

Novinky e-mailem

Když budu mít něco opravdu zajímavého, můžu vám to poslat e-mailem

Přidej se k 500+ čtenářům
Jen kvalitní obsah
Žádný spam

Web jecas.cz píše Bohumil Jahoda, kontakt
Seznam všech článků · Témata
2013–2026