Pseudotřídy

Dosud popsané selektory již dovolují mnoho. Existují však některé speciální případy, které je potřeba ošetřit samostatně. Pro tyto účely slouží další speciální selektory označované jako pseudotřídy. Jejich specialita spočívá v tom, že nejsou svázány s žádným konkrétním elementem stránky. Prohlížeč si pouze podle aktuální stavu stránky nebo pozice elementu ve stránce domyslí, na které části stránky je má aplikovat. Existuje několik druhů pseudotříd, podle toho, jaký účel plní.

Dynamické pseudotřídy

Dynamické pseudotřídy dovolují reagovat na interakci uživatele se stránkou. Nejznámější pseudotřídou je :hover. Je jí možné kombinovat s ostatními selektory a pravidlo odpovídající danému selektor se aktivuje pouze v případě, že na odpovídající element najedeme myší. Pokud bychom například chtěli, aby se text odkazu podbarvil žlutě v okamžiku, kdy na něj najedeme, stačí do stylu přidat jednoduché pravidlo:

a:hover { background-color: yellow; }

Podobné využití má i pseudotřída :focus, která vybere element přijímající v danou chvíli vstup uživatle. Typicky se jedná například o pole formuláře, ve kterém je právě kurzor a budou se do něj vkládat znaky, které napíšeme na klávesnici. U větších formulářů může být opět praktické podbravit vstupní pole, které se právě bude editovat – uživatel se tak bude ve formuláži lépe orientovat.

input:focus, textarea:focus { background-color: yellow; }

Další dvě pseudotřídy :link a :visited se vztahují pouze na odkazy, pokud je použijeme na jiných elementech nemají efekt. Slouží k odlišení formátování nenavštívených a navštívených odkazů.

:link          { color: blue }   /* nenavštívený odkaz */
:visited       { color: navy }   /* navštívený odkaz */

Tento dokument je určen výhradně pro osobní potřebu seznámení se s jazykem HTML a tvorbou webových stránek. Jakékoliv jiné použití, včetně dalšího šíření, pořizování kopií, použití při školeních a výuce apod. je výslovně zakázáno a bude považováno za porušení autorských práv.


Copyright © 1997–2014 Jiří Kosek
blog comments powered by Disqus