
Seznam všech CSS 3 selektorů
V CSS 3 je spousta selektorů, které s postupným mizením starších prohlížečů může dávat smysl znát.
Podpora „Vše“ znamená všechny relativně běžně používané prohlížeče (cca od Internet Exploreru 6). Některé selektory je možné ve starších IE rozběhat JavaScriptem.
| Zápis/Název | Význam | Podpora |
|---|---|---|
* | Libovolný element.
Všechny elementy na stránce budou červeně.
Všechny elementy v odstavci budou modré.
| Vše |
E | Všechny elementy E kdekoliv na stránce.
| Vše |
E[atribut] | Element E s libovolným (ale nastaveným) atributem atribut.
U elementů, které mají nějaký výchozí typ se tento selektor chová nejednotně napříč prohlížeči – Explorerové 7 a 8 chytí na | IE 7 + |
E[atribut="hodnota"] | Element E s atributem atribut nastaveným na hodnota.
| IE 7 + |
E[atribut~="hodnota"] | Element E, u kterého je jeden z vícenásobných atributů (jednotlivé části atributu jsou odděleny mezerou) atribut roven hodnotě hodnota .
Zvýrazní aktivní položku HTML kódu.
Selektor přesného atributu by nezafungoval. | IE 7+ |
E[atribut^="hodnota"] | Element E s atributem atribut začínající na hodnota.
Odkazy s protokolem HTTPS budou červené.
| IE 7+ |
E[atribut$="hodnota"] | Element E s atributem atribut končícím na hodnota.
Odkaz na PDF soubor bude červený. | IE 7+ |
E[atribut*="hodnota"] | Element E s atributem atribut obsahující řetězec hodnota.
Odkaz na (Rozumné využití CSS vyhledávání.) | IE 7+ |
E[atribut|="en"] | Element E s atributem atribut, který bude mít jednotlivé části atributu odděleny spojovníkem a začíná na en.
Není potřeba používat více tříd (
| IE 7+ |
E:root | Kořenový element E (<html>).
Nedává v HTML moc smysl, protože je to element Snad jen kvůli hackování starších prohlížečů:
V podporujících prohlížečích bude stránka modrá, v nepodporujících červená. | IE 9+ Ukázka |
E:nth-child(n) | Element E, který je n-tým potomkem nadřazeného elementu.
Druhý odstavec (čísluje se od jedničky) bude červený:
Pseudo-třída
Vyzkoušet si tyto selektory je pohodlně možné na nth-test.com. | IE 9+ |
E:nth-last-child(n) | To samé jako nth-child, jen se elementy číslují od konce.
| IE 9+ |
E:nth-of-type(n) | Podobné jako nth-child, jen nejde o potomky, ale o sourozence stejného typu (stejné značky).
| IE 9+ |
E:nth-last-of-type(n) | Totéž co nth-of-type, jen se sourozenci počítají od konce.
| IE 9+ |
E:first-childE:last-child | První nebo poslední potomek elementu E.
První položka seznamu bude červená a poslední modrá. | IE 7+ IE 9+ |
E:first-of-typeE:last-of-type | První/poslední element E daného typu v rámci společného rodiče.
První nadpis první úrovně na stránce bude červený.
Poslední nadpis první úrovně bude modrý. | IE 9+ Ukázka |
E:only-child | Zachytí takový element E, který je jedináček – nemá žádné sourozence = jeho rodičovský element nemá jiné potomky.
Nadpis 1 bude jedináčkem. | IE 9+ |
E:only-of-type | Element E, který nemá žádné sourozence stejného typu.
Tedy CSS kód:
Obarví v následujícím HTML jen „Nadpis 2“ červeně a „Text 3“ modře. | IE 9+ Ukázka |
E:empty | Element E, který nemá žádné potomky a ani neobsahuje text.
| IE 9+ Ukázka |
E:validE:invalid | Zachytí, zda je <input> řádně vyplněn. Buď v souladu s atributem pattern nebo s nějakým typem <input>u (url, email apod.).
| IE 10+ Ukázka |
E:linkE:visited | Element E, tedy odkaz <a>, který (ne)byl navštíven.
Kromě přebíjení selektorů nemá moc smysl | Vše |
E:activeE:hoverE:focus | Element E (může být i jiný než odkaz).
Pro lepší uživatelský komfort bývá vhodné odkazy zvýraznit kromě | Vše |
E:focus-within
| Element E, ve kterém se nachází nějaký prvek, který má :focus.
Hodí se pro vytváření rozklikávacích nabídek nezávislých na JavaScriptu. | Mimo IE/Edge Ukázka |
E:target | Element E, na který míří #kotva v adrese.
| IE 9+ |
E:lang(cs) | Potomek elementu s nastaveným atributem lang na cs.
Tento
Domnívám se, že tento selektor nenabízí nic, co by nešlo udělat bez něj. | IE 8+ Ukázka |
E:enabledE:disabled | Tímto selektorem lze ovlivnit vzhled formulářových polí, která (ne)jsou zablokována atributem disabled.
| IE 9+, nejde v Opeře Ukázka |
E:checked | Zachytí radio button nebo checkbox, který je vybrán, respektive zaškrtnut.
Opakem by měla být pseudotřída S tímto selektorem lze v CSS vytvářet docela zajímavé věci. | IE 9+ Ukázka |
E::first-lineE::first-letter | První řádek/písmeno elementu E.
Zajímavé je, že s dvěmi dvojtečkami je zápis funkční až od IE 9 (ukázka), ale jen s jednou dvojtečkou funguje všude. | Všude Ukázka |
E::beforeE::after | Slouží ke generování nového elementu před/za elementem E.
Lze tak například vygenerovat element určený k ukončení obtékání nebo generovat obsah vlastností Kvůli podpoře ve starších IE je výhodnější používat zápis jen s jednou dvojtečkou.
Nefunguje u některých elementů, které nemohou obsahovat text, jako | IE 8+ |
E.tridaE#idecko | Element E s třídou trida, respektive id idecko.
Z pohledu CSS mezi nimy není přílišného rozdílu (třída má menší váhu). Podle specifikací by ID mělo být unikátní a použitou pouze jednou, prohlížečům to je v CSS celkem jedno. Jedno to není JavaScriptu při používání metody
| Vše |
E:not(s) | Element E který nevyhovuje selektoru v závorkách not.
Nezaškrtnutý/nevybraný radio button/checkbox bude mít šedivé pozadí. | IE 9+ |
E F | Element F, který je ve stromu dokumentu na větvi elementu E. Jinak řečeno element F má nějakého libovolně vzdáleného předka E.
Odkaz v nadpise bude červený:
Odkaz v seznamu bude modrý:
Taktéž by fungovalo:
… ale je to zbytečně prodlužování. | Vše |
E > F | Element F je přímým potomkem elementu E.
Obarví element <span> v kódu
Ale už ne | IE 7+ |
E + F | Element F, který přímo následuje element E.
Obraví na červeno seznam, který bezprostředně sousedí s
Pokud mezi | IE 7+ |
E ~ F | Element F, před kterým je někde ve stejné úrovni element E.
Narozdíl od selektoru přímého sourozence zachytí i seznam, který má před nějakým | IE 7+ |
:fullscreen E | Element E při zobrazení ve fullscreenu (režimu celé obrazovky).
Selektor Bohužel se mi tuto funkčnost nepodařilo v žádném prohlížeči spustit (kód pro FF). Nějaký popis | IE 11+ |
E:indeterminate |
Funguje jen u značek Má smysl pro vytváření třístavového Nastavit neurčitý stav je možné jen JavaScriptem.
|
IE 9+ Ukázka |
E:optional |
Funguje jen u značek Opakem je selektor |
IE 10+ Ukázka |
E:required |
Funguje jen u značek Opakem je selektor Pro zaměření políčka, které je správně/špatně vyplněno slouží selektory validace ( |
IE 10+ Ukázka |
E::placeholder |
Umožnuje stylovat obsah atributu |
IE 10+ Ukázka |
E:read-only |
Umožnuje stylovat
Zaměřit
|
Chrome, Firefox Ukázka |
E:read-write |
Umožnuje zaměřit Zajímavé je, že atribut Pro starší prohlížeče je možné použít atributový selektor s negací (IE 9+):
|
Chrome, Firefox Ukázka |
E:default |
Zaměří výchozí odesílací tlačítko. Hodí se v případě, že je ve formuláři více tlačítek ( Zvýrazněné bude to, které by se použilo při stiknutí Enteru. |
Chrome, Firefox Ukázka |
Síla selektorů
- Specificity Calculator – visuální znázornění síly CSS selektorů
Související články
Možnosti stylování <iframe>
Co lze a nelze u <iframe> ovlivnit pomocí CSS a jak na změnu textu nebo barev.