2006-06-16 21:57 napsal Lukáš Havrlant
Předpokládám, že každý ví, jak v HTML zapsat nějaký libovolný
element. V zásadě máme dvě možnosti. Úvodní značku –
<znacka> a ukončovací značku –
</znacka>. Druhá možnost je pak zapsání pouze úvodní
značky, protože ukončovací značka neexistuje či nemusí být zapsána.
Tyto dvě metody jsou bezesporu nejznámější a jiné se prakticky
nepoužívají. Nicméně HTML zná i další způsoby, jak zapsat
element.
Prvním z nich je NET zápis, se kterým jste už tady na webu nejednou
setkali, takže jen krátce. Úvodní značku nemusí ukončit závorka
větší než „>“, ale můžeme ho ukončit lomítkem. Tedy
takto: <znacka/. Tímto je značka uzavřena. Celý element
potom uzavřeme opět pouhým lomítkem – /. Element by tedy
vypadal takto:
<znacka/obsah elementu/
Více na toto téma třeba u jozoba.
To ale není všechno. HTML zná ještě jiné způsoby. Další z nich
se nazývá „Empty End Tag“. Už z názvu trochu
vyplývá, jak se vše bude odehrávat. Takže mějme běžnou HTML značku:
<strong>. Nějaký její obsah a celý element namísto
</strong> ukončete pouze </>. Zápis
bude validní. „Značka“ </> ukončí vždy
aktuální element, tedy ten, který byl otevřen nejpozději. Pokud byste
používali pouze tento způsob zápisu, několik věcí by se značně
zjednodušilo – prakticky nikdy by nedošlo k překřížení tagů,
protože by se vždy ukončil ten aktuální. A také by se snížila
velikost dokumentu. Faktem ale je, že by HTML zápis by značně nepřehledný
:-). Snad by pomohl nějaký dobrý editor, který by s tímto eventuálně
uměl pracovat.
Další způsob se jmenuje „closed Start Tag“. Je to takový milý nevinný zápis. Spočívá v tom, že úvodní značku neukončíte závorkou větší než „>“, ale místo toho tam narvete další značku, takže tu původní značku ukončíte závorkou menší než „<“. Asi bude lepší ukázka:
<strong<a href="#">odkaz</a></strong>
Tento zápis, ač vypadá tak nějak povadle, je správný a validní. Ve specifikaci jsem našel zmíňku ještě o jednom způsobu a sice „Empty Start Tag“, ale ten jsem prostě nepochopil jak by měl fungovat, pardon…
Tak a teď přijde to nejdůležitější. Podporují tyto zápisy prohlížeče? Inu, můžete si to vyzkoušet sami na testovací stránce na W3C. Patrně zjistíte, že to moc nefunguje…
Ale přeci jen neházejme flitnu do žita. Najdou se i prohlížeče, které to zvládají. Například takový Lynx zvládá prakticky všechny zde popisované způsoby. Kde jiné prohlížeče končí, tam Lynx teprve začíná ;-). Další věc, kterou už zvládá více prohlížečů je „closed Start Tag“. Ale i to má bohužel jisté omezení. Pokud použijete tento zápis a nebudete mít ve značce atribut, zvládne to pouze Firefox. Takže pokud byste někdy potřebovali mít zvýrazněný text pouze ve Firefoxu ale nikde jinde, můžete zkusit něco takového:
<strong<span></span>Zvýrazněný text ve FF</strong>
Pokud byste použili nějaký atribut, zvládli by to již všechny prohlížeče (tedy i Opera a MSIE).
<strong id="blbost"<span></span>Zvýrazněný text všude</strong>
Ale celé je to blbost a jen to prosím nepoužívejte někde v praxi… Uvádím to zde jen pro zajímavost.
Tak a máme tady update, Dero kápl na
„Empty Start Tag“ a poslal link na stránku,
kde je to hezky vysvětleno. Zkráceně to tedy funguje tak, že parser
domýšlí volitelné značky podle toho, kde se právě nachází a jaká
volitelná značka se nachází před tím. Je jasné, že v seznamu
<ul> může být pouze <li>, takže zde
můžeme využít „Empty Start Tag“:
<ul>
<li>první položka
<>druhá položka
<>třetí položka
</ul>
Parseru pak dojde, že ty prázdně závorky znamenají vlastně
<li>.
Marty
Pokud se ale neurazíš, tohle používat nebudu :)
Já to také nikomu neradím používat :-). Přece jenom Lynx zase tak velké zastoupení nemá…
Jinak si myslím, že Empty Start tag funguje nějak takto
Už jsem provedl update.
Petr
Jedná se poté o skutečně validní XML dokument?
Ne, ony zápisy jsou povolené pouze v HTML, v XML toto pochopitelně nefunguje. V HTML to skutečně validní je.
Pachollini
On tě to taky nikdo nenutí používat :-).
Napadlo ma urobiť si web, ktorý by využíval všetky možné SGML konštrukcie, CSS3 a iné srandy. To by bola krása. :o)))
Určite nevšedné informácie, no ja mám ešte z Pascalu zažité písať kód tak, aby som sa v ňom vyznal aj po dvoch rokoch (keď Pán Boh dá).
Je jasné, že v seznamu může být pouze , takže zde můžeme využít „Empty Start Tag“
nie nieje to az tak jasne moze v nom byt aj OL alebo to moze byt nieco vnutri toho LI nadnim kedze nieje uzavrety :p
takze toto pouzivat fakt len v jednoduchom liste
andrej
Ne-e, v seznamu může být pouze li, další seznam totiž může být vložen zase pouze do li ;-).
hm nevím, ale připadá mi že po tovjich kecech o webdesignu, jsi stvořil také nepěkné stránky. Když jsem tu vlez, připadalo mi to jako bych jse zamotal do babiččiných punčoch….brrrrrr hnus…sory, ale musel jsem to řect…
Já nic na nikoho nesvaluji. Pouze se ptám, kde v tomto článku žvatlám o webdesignu. Zkrácené HTML zápisy ≠ webdesign.
ono to umí nerovnici…jéééé…. NE jsem myslel na „havrlant.net/webdesig.html“. Design ti asi nic moc neíká. To co jsi tam popsal je sice pravdu, ale design babiččiných punčoch asi málo koho naláká..To že někomu vytvoříš stránky napsané správně sémanticky a validní, myslím asi uživatele nezajímá. Považuje jse to za samozřejmost. Zákazníka či uživatele zajímá spíše jak jeho web bude vypadat, a jaké bude mít funkce. Nemyslíš?
Ach táák.. To se pak bavíme ty o koze a já o voze. Jo, jinak máš pravdu, bohužel. Já nevím, asi tu stránku zruším a dám tak under construction (výsledek bude asi shodný se současným stavem), dokud se nenaučím něco, co by opravdu stálo za řeč a hlavně za nabídku..
Jinak tenhle design mi třeba přijde vtipný :o).
Vtipný docela je no.. Jo a ještě jedna vítka. Nepoužívej porád stejný Tamplet na všechny weby. Je sice dobrej, ale ohraný. Strányk bych nerušil jen až když uděláš nový, tak nahradit. Jo a ještě jsem chtěl říct aby jsis to nebral osobně, mě design docela baví, boužel však neumím zatím uplatnit na webu. Týče jse hlavně CSS..
Nepoužívej porád stejný Tamplet na všechny weby
To se bohužel hodně lehko řekne, ale strašně těžko dělá, alespoň v mém případě. Navrhni něco ;-). Já se inovaci bránit nebudu.
Jinak já bych zase doporučil dávat pozor v hodinách češtiny… Pokud to tedy nebyly nějaké překlepy vzniklé v důsledku rychlého psaní.
Dobrý článok. Najväčšia sranda je, že kopec XML somrákov bude nadávať na HTML, že také niečo umožňuje spraviť :-) A pritom to čo píšes v článku im v tých ich coool ultramoderných XHTML weboch búra validitu, pretože posielajú XHTML ako mime text/html čím vznikajú presne tie chyby čo popisuješ (hlavne NET) :-) LOL.
Komentáře jsou uzavřeny