K napsání tohoto článku mě inspirovaly dopisy od vás, čtenářů Intervalu. Mnohdy žádáte o radu s problematickými stránkami, a některé problémy jsou stále stejné. Proto jsem se rozhodl napsat o jednom z nich, který vám dělá stálé potíže. Je o tom, kde psát, a kde nepsat uvozovky v HTML.

Potíž je, že dnes už málokde najdete popis toho, jak skutečně napsat správné HTML. Myslím správné nikoli z hlediska designu, ale z hlediska základních syntaktických pravidel HTML. Jako šafránu se vyskytují články, které vás uvedou do skutečně podstatných věcí, a to do obecných pravidel zápisu HTML. Tento článek se snaží vysvětlit, kde se mají, a kde se nesmí psát uvozovky v HTML.

Předtím, než začnu popisem, nejprve krátký úvod. Některé prohlížeče jsou velmi odolné oproti chybám v HTML zápisu. Jiné toho snesou méně. Každopádně každý prohlížeč je vybaven jakousi "protichybovou jednotkou", která se snaží opravit chyby ve špatných HTML stránkách. Pokud máte napsanou HTML stránku správně, prohlížeč nemusí tuto "protichybovou jednotkou" vůbec používat, a vše je zobrazeno dobře. Pokud se v HTML vyskytují chyby, potom se prohlížeč snaží odhadnout, jak to asi autor myslel. Někdy je celkem úspěšný, a někdy vznikne paskvil. Nepříjemný je spíše fakt, že u té samé stránky se občas podaří, a občas ne. Je to dílem více či méně náhody. Většinou se chová tak, že doma vše pracuje správně, a po nahrání na web stránka začne zlobit. A tento článek by vám měl pomoci, aby se právě vám toto nestávalo.

Psaní uvozovek v textu

Pokud píšete volný text, tím myslím vše, co je není uzavřeno uvnitř špičatých závorek < a >, potom byste přímo uvozovky psát neměli. Pokud je potřebujete, existuje na to speciální zápis: &&;quot; pro jejich napsání. Zde je příklad špatného zápisu:

<p>Volám "Haló"</p>

Tento výše uvedený příklad je špatně, protože obsahuje přímo uvozovky. Správně je totéž potřeba napsat jinak (zápis uvozovek je zvýrazněn modře):

<p>Volám &&;quot;Haló&&;quot;</p>

Uvozovky jako hodnoty atributů

Obrovské chyby se dělají v zápisu atributů. Například už jsem mockrát viděl tento chybný zápis:

<font size=+1>Toto je trochu větším písmem.</font>

Co je na výše uvedeném příkladu špatně? Uvnitř značky <font> je použit atribut size, který má hodnotu +1. A právě tato hodnota +1 je zapsána špatně. Vyžaduje totiž uvozovky, takže správně je to takto:

<font size="+1">Toto je trochu větším písmem.</font>

Podle normy HTML je totiž možné vynechat uvozovky v hodnotě atributu jenom tehdy, pokud obsahuje jenom čísla, případně písmena pouze anglické abecedy. Také norma toleruje tečku . a pomlčku (neboli mínus) – v hodnotě atributu, aniž byste museli psát uvozovky. Pokud se vám tam vyskytuje jiný znak, jsou uvozovky nutné! V příkladě máme hodnotu +1, která obsahuje znak plus +, a ten už povinně vyžaduje uvozovky! V případě, že si nejste jistí, piště v hodnotách atributů uvozovky všude, v zásadě tím nic nezkazíte.

Takže třeba následující zápis je správně a uvozovky nevyžaduje:

<font size=-1>Toto je trochu menším písmem.</font>

Další příklady chybně zapsaných HTML kódů

Zde chybí uvozovky za adresou http://www.xxx.cz, protože obsahuje dvojtečku : a lomítko /, které vyžadují uzavření do uvozovek. Takže toto je velmi špatně:

<a href=http://www.xxx.cz>Odkaz na www.xxx.cz</a>

Správně to má být:

<a href="http://www.xxx.cz">Odkaz na www.xxx.cz</a>

Hodně často na uvozovky lidé zapomínají u barev, takže dost je vidět i tato verze chyby:

<body text=#FFFFFF bgcolor=#000000>

Chyba byla v tom, že kódy barev obsahují znak mřížku #, která nutně vyžaduje být v uvozovkách. Správně je to tedy takto:

<body text="#FFFFFF" bgcolor="#000000">

A to je pro dnešek vše. Doufám, že vám tento článek pomohl objasnit problematiku uvozovek.

Starší komentáře ke článku

Pokud máte zájem o starší komentáře k tomuto článku, naleznete je zde.

Žádný příspěvek v diskuzi

Odpovědět