6.3.2. Identifikátor elementu jako selektor

Pro použití se styly bylo HTML rozšířeno ještě o jeden atribut. U každého elementu můžeme použít atribut id. Ten slouží k definici jedinečného jména elementu v rámci dokumentu. Na takto pojmenované elementy jednak můžeme vytvářet odkazy (v URL použijeme fragment) a jednak pro ně lze ve stylu uvést zvláštní deklaraci.

Tento atribut můžeme použít jako náhradu za vytváření návěští pomocí <a name="identifikátor">. Místo dlouhého a otravného:

<h1><a name="uvod">Úvod</a></h1>

Můžeme použít mnohem kratší zápis:

<h1 id="uvod">Úvod</h1>

Jediný problém je v tom, že některé prohlížeče tento nový zápis návěští nechápou. Nefunguje v nich pak odkaz <a href="#uvod">odkaz na úvod</a>. Pro účely odkazů se tedy na id nemůžeme spolehnout, ale ve spojení s kaskádovými styly nebo JavaScriptem může být atribut naším věrným přítelem.

Představme si, že chceme mít v dokumentu jeden odstavec zobrazen prostrkaně (s většími mezerami mezi písmeny). Odstavec si proto označíme identifikátorem.

<p id="L027">Odstavec prostrkaného textu</p>

Ve stylu pak vytvoříme pravidlo pro element s naším identifikátorem.

#L027   { letter-spacing: 1pt }

Podobně jako u tříd můžeme i před název identifikátoru doplnit název elementu. Celé pravidlo ve stylu pak platí pouze pro element zadaného jména, u kterého je navíc uveden i příslušný identifikátor. Například selektor h1#L027 se použije pouze v případech, kdy je id="L027" použito u elementu pro nadpis první úrovně.

Varování

Vidíme, že pomocí této konstrukce můžeme nastavit styl pro každý element zvlášť. Tomu bychom se však měli vyhnout – styl by měl být jednotný pro všechny elementy, abychom v budoucnu mohli snadno měnit vzhled stránky. Potřebujeme-li u nějakého elementu rozlišit několik jeho různých významů, můžeme použít rozlišení pomocí tříd (atribut class).

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–2010 Jiří Kosek
blog comments powered by Disqus