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-child E:last-child | První nebo poslední potomek elementu E .
První položka seznamu bude červená a poslední modrá.
| IE 7+ IE 9+ |
E:first-of-type E: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:valid E: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:link E:visited | Element E , tedy odkaz <a> , který (ne)byl navštíven.
Kromě přebíjení selektorů nemá moc smysl
| Vše |
E:active E:hover E: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:enabled E: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-line E::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::before E::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.trida E#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ů
Komentáře