<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE html PUBLIC '-//W3C/DTD XHTML+Voice 1.2 /EN' 'http://www.voicexml.org/specs/multimodal/x+v/12/dtd/xhtml+voice12.dtd'>
<html xmlns='http://www.w3.org/1999/xhtml' xmlns:ev='http://www.w3.org/2001/xml-events'>
<head>
<link rel='stylesheet' href='http://pabi3.com/modules/items/voice.css' type='text/css' media='all' />
<form xmlns='http://www.w3.org/2001/vxml' id='title'>
<block>
The article XHTML a CSS, 1.diel is written by PaBi3
</block>
</form>
<form xmlns='http://www.w3.org/2001/vxml' id='body'>
<block>

XHTML a CSS je buducnost webu, ktora prinasa mnoho vylepseni a novinek od zastaraleho
HTML. Medzi HTML a XHTML nie je velky rozdiel a preto nebude tazke zvyknut si na
novu syntax, ktora sa lisi len drobnostami. CSS je taktiez jednou z technologii, ktoru bude tento serial zahrnat.



Cielom tohoto serialu bude naucit vas vytvarat "moderny" web pomocou CSS - kaskadovych sablon, XHTML dokumentov a rovno vam mozem povedat, ze na tag &lt;table&gt;, na ktory ste si urcite zvykli mozete zabudnut. Su to zastarale technologie, ktore uz pomaly vypadavaju z internetu. XHTML sa od HTML odlisuje v mnohych smeroch ale struktura zapisu zostala rovnaka. XHTML je teraz vo validite trochu prisnejsie ale ked tvorite web v 
XHTML tak to urcite nebude v editore FrontPage ale musite ho pisat rucne. Snad 
taky mensi nezvyk prinesie XHTML tym, ktori si zvykli pisat tagy velkymi 
pismenami, ale myslim, ze to nie je az taky problem sa preorientovat na male 
pismena. Vsetky tagy sa v XHTML pisu malymi pismenami, inak by validator bral 
tagy pisane velkymi pismenami ako chybny zapis. Prejdime k pisaniu stranky.
</block>
</form>
<form xmlns='http://www.w3.org/2001/vxml' id='full'>
<block>
Zapis DTD


Strict - tato norma zakazuje formatovanie dokumentu. Zapis je zhodny s HTML 4 az 
na odlisnosti medzi XML a SGML.


&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Strict//EN&quot; 
&quot;DTD/xhtml1-strict.dtd&quot;&gt;


Transitional - tato norma nepouziva framy a je pre zacinajucich webdesignerov, 
ktori chcu zacat s XHTML. Oproti inym normam je tato najmenej prisna.


&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot; 
&quot;DTD/xhtml1-transitional.dtd&quot;&gt;


Frameset - tato norma je urcena pre webdesginerov, ktori chcu stranku vyvijat 
cestou vo framoch. Je to malo pouzivana forma, ktora ale ma svoje opodstatnenie.


&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Frameset//EN&quot; 
&quot;DTD/xhtml1-frameset.dtd&quot;&gt;


Doteraz najnovsia norma, ktora vsetko formatovanie prebera s CSS.


&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.1//EN&quot; &quot;http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd&quot;&gt;


Teraz ked je popis ukonceny, ukazeme si zapis XHTML dokumentu, ktory 
pouzijeme v nasom priklade s normou XHTML.


&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.1//EN&quot; &quot;http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd&quot;&gt;
&lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&gt;


Teraz by sme skoncili s nasim zapisom DTD a presli by sme k hlavicke webu 
a to je zname &lt;head&gt;. Do hlavicky musime zapisat &quot;minimalne&quot; aspon kodovanie stranky. Ako prve sa v XHTML zapise XML deklaracia - jej verzia a kodovanie.


&lt;?xml version=&quot;1.0&quot; encoding=&quot;iso-8859-2&quot;?&gt;


Kodovani je takmer nespocetne mnozstvo a je len na vas aku sadu 
znakov si zvolite. Medzi najpouzivanejsie u nas patria iso-8859-2, UTF-8 alebo windows-1250. Su tu aj ine moznosti ale po tych uz patrajte sami :-). Tieto dve kodovania odporucam
z hladiska dekodovania slovenskych aj ceskych znakov. Kodovanie iso-8859-2 je viac upredostnovane pred windows-1250.


&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=iso-8859-2&quot; /&gt;


Ako vidite, vyssie v kode je uvedeny Content-Type (text/html)
a nasledne za nim je uvedene kodovanie. Dalej nasleduje zapis autora (nie je povinne!), popisu stranky a pod. Vsetko si povieme ale najprv si pozrite zapis tychto metatagov.


&lt;meta name=&quot;robots&quot; content=&quot;follow, all&quot; /&gt;
&lt;meta name=&quot;author&quot; content=&quot;www.PaBi3.com&quot; /&gt;
&lt;meta name="Keywords" content="XHTML, CSS, PaBi3" /&gt;
&lt;meta name=&quot;description&quot; content=&quot;Toto je stranka v XHTML, 
ktora vyuziva kaskadove sablony CSS.&quot; /&gt;
&lt;meta http-equiv=&quot;imagetoolbar&quot; content=&quot;no&quot; /&gt;
&lt;title&gt;Nadpis stranky v XHTML.&lt;/title&gt;

Vsetkych 5 meta-tagov ma svoj vyznam ale niektore su aj cisto zbytocne. 
Meta-tag robots prikazuje vyhladavacom aby si vasu stranku ulozili do databazy. 
Meta-tag autor je prakticky zbytocny, pretoze jeho funkcia je bezvyznamna. Je to viacmenej iba taka vizitka, pomocou ktorej sa niekto dozvie kto je autor vytvoreneho webu. 
Keywords su klucove slova, ktore stranka obsahuje. Description uz podla nazvu bude jasna kazdemu. Je to popis stranky, ktory sa objavi vo vyhladavaci. Description odporucam pouzivat urcite, pretoze su to 2 najdolezitejsie metatagy pre vyhladavace.
Image Toolbar je tam ako maly priklad a sluzi na to, aby v prehliadaci MSIE pri podrzani kurzoru nad obrazkom 
nebolo ziadne menu pre ulozenie obrazka. Taktiez ho odporucam pouzivat. Posledny je tu titulok 
a je v nom nadpis stranky. Je velmi dolezite ho vyplnit


Dalsi zapis bude suvisiet s cestou k CSS - kaskadovym stylom.


&lt;link rel="stylesheet" href="style_s.css" type="text/css" media="screen" 
/&gt;
&lt;link rel="stylesheet" href="style_p.css" type="text/css" media="print" /&gt;


Tag &lt;link&gt; pripaja CSS k stranke (v nasom pripade pri rel='stylesheet'). Obe cesty su rovnake 
ako vidite ale mohli ste si vsimnut sucast tagu &quot;media&quot;. Screen sa pouziva na 
vidietlne definicie v CSS, ktore si sami urcite. Typ &quot;print&quot; sluzi ako tlacovy 
vystup. Ak by ste chceli mat rovnake CSS sablony aj pre tlacovy vystup alebo viditelny
obraz v prehliadaci staci namiesto dvoch &lt;link&gt; napisat len jeden a nastavit media na "all". Media typov je viac druhov.
Hlavicku ukoncime &lt;/head&gt; a teraz je vsetko hotove.



Este jedna moznost pripojenia CSS k XHTML dokumentu je takato:


&lt;style type=&quot;text/css&quot; media=&quot;screen&quot;&gt;@import &quot;style.css&quot;;&lt;/style&gt;


Ma rovnaku funkciu ako &lt;link rel="style&hellip;&gt;, len s tym rozdielom, ze funguje aj na starsich prehliadacoch. Ma vsak aj svoje nevyhody, ktore je zbytocne menovat, pretoze ako som povedal na zaciatku clanku, "CSS a XHTML je buducnost". Preco sa vracat do minulosti? Tento vyber necham na vas. Odporucam &lt;link&gt;



Na zaver este taka mala ukazka hotoveho kodu: 


&lt;?xml version=&quot;1.0&quot; encoding=&quot;iso-8859-2&quot;?&gt;
&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.1//EN&quot; &quot;http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd&quot;&gt;
&lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&gt;
&lt;head&gt;
&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=iso-8859-2&quot; /&gt;
&lt;meta name=&quot;robots&quot; content=&quot;follow, all&quot; /&gt;
&lt;meta name=&quot;author&quot; content=&quot;www.PaBi3.com&quot; /&gt;
&lt;meta name=&quot;Keywords&quot; content=&quot;XHTML, CSS, PaBi3&quot; /&gt;
&lt;meta name=&quot;description&quot; content=&quot;Toto je stranka v XHTML, ktora vyuziva kaskadove sablony CSS.&quot; /&gt;
&lt;meta http-equiv=&quot;imagetoolbar&quot; content=&quot;no&quot; /&gt;
&lt;title&gt;Nadpis stranky v XHTML.&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;div&gt;
Toto je stranka v XHTML a CSS.
&lt;/div&gt;
&lt;/body&gt;
&lt;/html&gt;


Ukoncenie obsahu stranky vykoname pomocu tagu &lt;body&gt; a jeho ukoncenie &lt;/body&gt; + ukoncenie celeho dokumentu pomocou &lt;/html&gt;.
</block>
</form>
<base href='http://pabi3.com/' />
<title>XHTML a CSS, 1.diel</title>
</head>
<body ev:event='load' ev:handler='#title'>
<a href='http://pabi3.com/blog/xhtml-a-css-1-diel/' title='Návrat'>Návrat</a>
<h1 style='padding:0.5em;'>XHTML a CSS, 1.diel</h1>
<ul>
<li ev:event='click' ev:handler='#body'>Speak introduction</li>
<li ev:event='click' ev:handler='#full'>Speak full</li>
</ul>
</body>
</html>
