<meta http-equiv='pics-label' content='(pics-1.1 "http://www.icra.org/ratingsv02.html" comment "ICRAonline EN v2.0" l gen true for "http://interval.cz" r (nz 1 vz 1 lz 1 oz 1 cz 1) "http://www.rsac.org/ratingsv01.html" l gen true for "http://interval.cz" r (n 0 s 0 v 0 l 0))' />
<p id='prepend'>Myslet elasticky ve webdesignu znamenß urΦovat rozm∞ry strßnek ne napevno, ale v zßvislosti na preferencφch u₧ivatele û v zßvislosti na jeho velikosti pφsma a na velikosti okna prohlφ₧eΦe. ElastickΘ strßnky nemajφ problΘm se zobrazenφm tΘm∞° v ₧ßdnΘm za°φzenφ, nekladou u₧ivateli p°ekß₧ky. Ukß₧eme si tedy, jak pomocφ CSS nastavit relativn∞ velikost pφsma a jak se zbavit pevnΘ Üφ°ky strßnky.</p>
<h3>ProΦ myslet elasticky</h3>
<p>V souΦasnosti si u₧ivatelΘ prohlφ₧ejφ webovΘ strßnky na r∙zn²ch za°φzenφch s r∙zn²mi preferencemi. Jmenujme nap°φklad PDA a podobnΘ vymo₧enosti s malou obrazovkou a tφm pßdem i mal²m oknem prohlφ₧eΦe, nebo klasickΘ poΦφtaΦe, jejich₧ rozliÜenφ se dnes pohybuje od 640 do 1 600 pixel∙ na Üφ°ku. V takov²ch podmφnkßch je stßle obtφ₧n∞jÜφ vystaΦit s pevnou Üφ°kou strßnky, proto₧e t∞₧ko vyhovφte jednou hodnotou souΦasn∞ malΘ obrazovce PDA a poΦφtaΦi s rozliÜenφm vφce ne₧ 1 000 pixel∙ na Üφ°ku.</p>
<p>Vedle tohoto vznikajφcφho problΘmu se ji₧ dlouho pot²kßme i s problΘmem druh²m û prohlφ₧eΦ Microsoft Internet Explorer pro Windows (MSIE) neumo₧≥uje u₧ivateli zm∞nit velikost pφsma, pokud je v CSS nastavena pomocφ absolutnφch jednotek, vΦetn∞ pixel∙. To by snad jeÜt∞ ani nebyla takovß tragΘdie, kdyby ale MSIE nem∞lo nainstalovßno p°es 90 % u₧ivatel∙ internetu. (T∞₧ko °φct, jestli je chovßnφ MSIE v tomto p°φpad∞ sprßvnΘ nebo chybnΘ. Mo₧nß by se nßm stejn∞ tak nelφbilo, kdyby umo₧≥oval pφsmo s absolutnφ velikostφ zv∞tÜovat.)</p>
<p>Nechat u₧ivatele ovlivnit velikost pφsma strßnky je urΦit∞ dobrß v∞c, kdy₧ uvß₧φme, kolik lidφ nosφ br²le nebo mß jinΘ problΘmy. Proto je t°eba nastavovat pφsmo strßnky relativn∞, s Φφm₧ jsou spojeny dalÜφ problΘmy. Nynφ se na n∞ podφvßme.</p>
<h3>Jak nastavit relativn∞ velikost pφsma</h3>
<p>K nastavenφ velikosti pφsma, kterß byla nastavena u₧ivatelem v prohlφ₧eΦi, staΦφ jedinΘ û nenastavovat ₧ßdnou velikost pro prvek <code><body></code>, nastavit pouze v∞tÜφ Φi menÜφ pφsmo pomocφ procent tam, kde to pot°ebujeme, nap°φklad u nadpis∙.</p>
<p>V²chozφ velikost pφsma v prohlφ₧eΦi (pokud ji u₧ivatel po instalaci nezm∞nφ) je ale obvykle p°φliÜ velkß a nehodφ se nßm do grafickΘho pojetφ strßnky. Proto budeme chtφt nastavit velikost, kterß je p°ibli₧n∞ osmdesßtiprocentnφ oproti v²chozφ velikosti v prohlφ₧eΦi. To se d∞lß v∞tÜinou takto...</p>
<div class='sample'>
body {
<br /> font-size: 0.8em;
<br />}
</div>
<p>...nebo takto:</p>
<div class='sample'>
body {
<br /> font-size: 80%;
<br />}
</div>
<p>Zde je ale kßmen ·razu! Pokud nastavφme pφsmo jednφm z t∞chto zp∙sob∙ a zkusφme ho zmenÜit nebo zv∞tÜit v prohlφ₧eΦi, zjistφme, ₧e rozdφly mezi jednotliv²mi stupni velikosti jsou p°φliÜ velkΘ (u jednotek <em>em</em> v∞tÜφ ne₧ u procent). Nap°φklad v MSIE u₧ p°i "malΘ" velikosti pφsma dostaneme tΘm∞° neΦitelnou velikost. Tento problΘm se ale t²kß i ostatnφch prohlφ₧eΦ∙, nap°φklad Mozilly.</p>
<p>╪eÜenφm je pou₧φt klφΦovß slova pro nastavenφ velikosti pφsma, v naÜem p°φpad∞ slovo <em>small</em>. KlφΦovß slova jsou ale Üpatn∞ interpretovßna v MSIE 5.x, proto musφme pou₧φt hack. Pro MSIE 5.x pou₧ijeme klφΦovΘ slovo <em>x-small</em>, kterΘ nastavuje jeÜt∞ o stupe≥ menÜφ pφsmo, proto₧e MSIE 5.x mß posunutΘ v²znamy t∞chto klφΦov²ch slov. Pro ostatnφ prohlφ₧eΦe nastavφme <em>small</em> pomocφ zkrßcenΘho Tantekova hacku.</p>
<div class='sample'>
body {
<br /> font-size: x-small;
<br /> fo\nt-size: small;
<br />}
</div>
<p>Nynφ ji₧ jsou rozestupy mezi r∙zn²mi stupni velikosti pφsma v po°ßdku. ProΦ ale zp∙sobujφ procenta a <em>em</em> takovΘ problΘmy a klφΦovß slova fungujφ, to se m∙₧eme jen dohadovat. Podle mΘho nßzoru je to zap°φΦin∞no r∙zn²mi aproximacemi p°i poΦφtßnφ skuteΦnΘ velikosti pφsma, kdy u procent a <em>em</em> jich je urΦit∞ vφce ne₧ u klφΦov²ch slov, jejich₧ ΦφselnΘ hodnoty si m∙₧e prohlφ₧eΦ podle sv²ch pot°eb upravit.</p>
<h4>ProblΘmy s n∞kter²mi elementy v MSIE</h4>
<p>V MSIE se po pou₧itφ hodnoty <em>small</em> na <code><body></code> vykreslujφ prvky <code><samp></code>, <code><code></code> a <code><kbd></code> menÜφm pφsmem, ne₧ by m∞ly. Proto se vyplatφ p°idat do CSS jeÜt∞ pßr °ßdek:</p>
<div class='sample'>
samp, code, kbd {
<br /> font-size: 90%;
<br />}
</div>
<p>P°i devadesßtiprocentnφ velikosti vypadß neproporcißlnφ pφsmo (jφm₧ jsou tyto prvky vykresleny) uvnit° normßln∞ psanΘho textu asi nejlΘpe, jak m∙₧e a nenaruÜuje tolik jeho tok jako p°i stoprocentnφ velikosti.</p>
<p>TakΘ m∙₧ete u₧ivatele nechat ovlßdat pφsmo ve formulß°ov²ch prvcφch:</p>
<div class='sample'>
input, select, button, textarea {
<br /> font-size: 100%;
<br />}
</div>
<p>Po tomto nastavenφ se i v nich bude pφsmo zv∞tÜovat a zmenÜovat podle p°ßnφ u₧ivatele.</p>
<h3>Jak se osvobodit od pevnΘ Üφ°ky</h3>
<p>Jak jsme si ji₧ °ekli, v souΦasnosti bychom p°i nßvrhu vzhledu strßnky m∞li poΦφtat jak s mal²mi, tak velk²mi obrazovkami (a tφm pßdem s r∙zn²mi velikostmi okna prohlφ₧eΦe). M∞li bychom tedy d∞lat strßnky <strong>elastickΘ</strong>, kterΘ se automaticky p°izp∙sobujφ velikosti okna (proto₧e p°φliÜ ÜirokΘ strßnky v malΘm okn∞ se Üpatn∞ pou₧φvajφ a p°φliÜ ·zkΘ strßnky ve velkΘm okn∞ Üpatn∞ vypadajφ). Samoz°ejm∞ nenφ mo₧nΘ d∞lat elastickΘ strßnky ve vÜech p°φpadech, pokud nap°φklad pot°ebujeme na strßnku nasklßdat hodn∞ grafiky nebo chce zadavatel stejn² vzhled za vÜech okolnostφ, pravd∞podobn∞ pou₧ijeme pevnou Üφ°ku. Troufßm si ale tvrdit, ₧e v∞tÜina web∙ se bez nφ m∙₧e obejφt.</p>
<p>A jak provΘst osvobozenφ od pevnΘ Üφ°ky prakticky? Nenastavovat Üφ°ku strßnky vlastnostφ <em>width</em> a mφsto nφ zaΦφt pou₧φvat vlastnosti <em>min-width</em> pro minimßlnφ Üφ°ku (d∙le₧itß kv∙li mal²m obrazovkßm) a <em>max-width</em> pro maximßlnφ Üφ°ku (d∙le₧itß kv∙li vyÜÜφm rozliÜenφm). SpoleΦn∞ nßm tyto vlastnosti umo₧≥ujφ nastavit jakΘsi rozmezφ. Podle konkrΘtnφho webu je t°eba se rozhodnout, jestli pou₧φt tyto vlastnosti pro celou strßnku a Üφ°ku jejφch Φßstφ nastavit procentußln∞, nebo takto omezovat jejφ Φßsti zvlßÜ¥ û nap°φklad hlavnφ obsah, sloupeΦky a podobn∞.</p>
<h4>TextovΘ bloky</h4>
<p>U textov²ch blok∙ bychom m∞li vlastnosti <em>min-width</em> a <em>max-width</em> nastavovat podle velikosti pφsma. Tu jsme ale nastavili relativn∞, zßle₧φ tedy na u₧ivatelov∞ prohlφ₧eΦi. Skv∞le nßm v tomto p°φpad∞ poslou₧φ jednotka <em>em</em>, kterß nßm umo₧nφ nastavit rozmezφ Üφ°ky v zßvislosti na velikosti pφsma v prvku:</p>
<div class='sample'>
#obsah {
<br /> min-width: 18em;
<br /> max-width: 30em;
<br />}
</div>
<p>Otßzka znφ, jakΘ hodnoty se pro textovΘ bloky hodφ. Obecn∞ se mφnφ, ₧e ke Φtenφ je vhodnß Üφ°ka od 40 do 65 znak∙ na °ßdek. Je tedy t°eba zjistit, kterß hodnota zajistφ pot°ebn² poΦet znak∙ na °ßdek p°i vÜech mo₧n²ch velikostech pφsma. Provedl jsem pokusy s r∙zn²mi pφsmy a doÜel jsem k nßsledujφcφm hodnotßm:</p>
<div class='table'>
<table cellspacing='0'>
<tr><th>Pφsmo</th><th>èφ°ka pro 40 znak∙</th><th>èφ°ka pro 65 znak∙</th></tr>
<p>VhodnΘ hodnoty se liÜφ podle typu pφsma, co₧ je zp∙sobeno r∙zn²m pom∞rem Üφ°ky a v²Üky znak∙ u jednotliv²ch pφsem. Pokud se s tφm ale nechcete zase tolik "babrat", m∙₧ete se smφ°it s urΦit²mi nep°esnostmi a pou₧φvat jedny hodnoty pro vÜechna pφsma.</p>
<h4>Grafickß zßhlavφ</h4>
<p>V souvislosti s grafikou a elastick²mi strßnkami m∙₧ete pou₧φt jeden trik. ╪ekn∞me, ₧e mßte v hlaviΦce obrßzek na pozadφ p°es celou Üφ°ku strßnky û s pevnou Üφ°kou jste v CSS mohli pou₧φt nßsledujφcφ:</p>
<div class='sample'>
#hlavicka {
<br /> background: url("zahlavi.gif") no-repeat;
<br /> width: 750px;
<br />}
</div>
<p>S pou₧itφm elastickΘ Üφ°ky by to ale dopadlo takto:</p>
<div class='sample'>
#hlavicka {
<br /> background: url("zahlavi.gif") no-repeat;
<br /> max-width: 750px;
<br /> min-width: 250px;
<br />}
</div>
<p>V druhΘm p°φpad∞ m∙₧e mφt hlaviΦka r∙znou Üφ°ku. To ale obrßzku nevadφ, proto₧e se ho zobrazφ pouze takovß Φßst, aby se do hlaviΦky veÜel. Dokonce m∙₧ete nastavit maximßlnφ Üφ°ku i v∞tÜφ ne₧ 750 pixel∙ a cel² obrßzek ud∞lat v∞tÜφ û v₧dy se ho zobrazφ pouze takovß Φßst, jakß je pot°eba.</p>
<h4>Co zvß₧it, na co si dßt pozor</h4>
<p>Pou₧φvßnφ minimßlnφch a maximßlnφch Üφ°ek je daleko slo₧it∞jÜφ na mo₧nΘ kombinace ne₧ pevnß Üφ°ka, hlavn∞ v kombinaci s jednotkou <em>em</em>. P°i nßvrhu vzhledu strßnky je tedy t°eba v₧dy p°em²Ület a zkouÜet, jak bude strßnka vypadat ve velkΘm a jak v malΘm okn∞, jak ji ovlivnφ nastavenφ v∞tÜφho Φi menÜφho pφsma a podobn∞.</p>
<h3>Zprovozn∞nφ max-width v MSIE</h3>
<p>Prohlφ₧eΦ MSIE bohu₧el nepodporuje vlastnosti <em>min-width</em> ani <em>max-width</em>. V p°φpad∞ vlastnosti <em>min-width</em> to tolik nevadφ (je d∙le₧itß hlavn∞ kv∙li mal²m obrazovkßm), ale <em>max-width</em> je ji₧ bolestivß ztrßta, proto₧e bez nφ se m∙₧e strßnka na vysok²ch rozliÜenφch roztßhnout tak, ₧e u₧ z nφ u₧ivatel nebude moci nic p°eΦφst.</p>
<p>Programßto°i Microsoftu sice neimplementovali v²Üe uvedenΘ vlastnosti, ale zavedli specißlnφ CSS hodnoty <code>expression(v²raz)</code> (viz <a href='http://msdn.microsoft.com/workshop/author/dhtml/overview/recalc.asp'>About Dynamic Properties</a>), kde "v²raz" je vyhodnocen pomocφ JavaScriptu a jeho v²sledek je pou₧it jako hodnota pro danou vlastnost. Prßv∞ s pomocφ tΘto hodnoty <em>max-width</em> nahradφme:</p>
<p>Jak vidφte, testujeme skuteΦnou Üφ°ku prvku a pokud je v∞tÜφ ne₧ 750 pixel∙, nastavφme Üφ°ku na t∞chto 750 pixel∙.</p>
<p>Krom∞ toho se musφme n∞jak vypo°ßdat se situacφ, kdy jsou vypnutΘ skripty, v takovΘm p°φpad∞ toti₧ <code>expression()</code> nefunguje. Proto jsme p°ed°adili naÜφ deklaraci jeÜt∞ jednu deklaraci, kterß nastavuje pevnou Üφ°ku 751 pixel∙. V hodnot∞ <code>expression()</code> pak tuto Üφ°ku zruÜφme. Tato pevnß Üφ°ka nesmφ b²t stejnß jako Üφ°ka, kterou jsme urΦili jako maximßlnφ, jinak by se v²poΦet <code>expression()</code> zacyklil (po prvnφm p°ekroΦenφ maximßlnφ Üφ°ky by se stßle dokola nastavovaly hodnoty "auto" a "750px").</p>
<p>Ob∞ nastavenφ vlastnosti <em>width</em> ve v²Üe uvedenΘ ukßzce jsou ale urΦena jen pro MSIE, v ostatnφch prohlφ₧eΦφch by m∞la dopad, o kter² nestojφme. Proto musφme tyto dv∞ deklarace p°ed ostatnφmi prohlφ₧eΦi n∞jak skr²t. Pro tento ·Φel m∙₧eme pou₧φt <a href='http://www.pixy.cz/blog/2003_11_archiv.html#1069419461'>podtr₧φtkov² hack</a> û na zaΦßtek jmΘna vlastnosti se umφstφ podtr₧φtko, co₧ zajistφ, ₧e tuto vlastnost interpretuje jen MSIE:</p>
<p>Podtr₧φtkov² hack zp∙sobφ, ₧e naÜe CSS bude nevalidnφ, proto₧e <a href='http://www.w3.org/TR/CSS21/'>specifikace CSS</a> o ₧ßdnΘ vlastnosti <em>_width</em> nemluvφ. Zßrove≥ ale tato specifikace °φkß, ₧e v nßzvu vlastnosti se smφ vyskytovat podtr₧φtko a ₧e prohlφ₧eΦe majφ ignorovat neznßmΘ vlastnosti. Proto by ostatnφ prohlφ₧eΦe m∞ly deklaraci <em>_width</em> ignorovat a pokraΦovat dalÜφ Φßstφ p°edpisu (jeho sprßvnΘmu parsovßnφ tato deklarace nezabra≥uje).</p>
<p>Pokud chcete mφt sv∙j stylov² p°edpis validnφ, m∙₧ete pou₧φt ke skrytφ obou deklaracφ druhou mo₧nost, takzvanΘ <a href='http://interval.cz/clanek.asp?article=896' title='R∙₧iΦka, Pavel: Podmφn∞nΘ komentß°e v Internet Exploreru'>podmφn∞nΘ komentß°e</a>. StaΦφ umφstit do hlaviΦky strßnek tento k≤d:</p>
<p>Prohlφ₧eΦ MSIE naΦte v takovΘm p°φpad∞ do strßnky dalÜφ stylov² p°edpis, ve kterΘm m∙₧ete uvΘst vÜechny deklarace urΦenΘ jen pro n∞j (tedy i naÜe dv∞ deklarace Üφ°ky). Ostatnφ prohlφ₧eΦe budou tento zßpis chßpat sprßvn∞ jako (X)HTML komentß° a nic nenaΦtou. Udr₧φte si tak sv∙j stylov² p°edpis validnφ, na druhou stranu bude muset MSIE nahrßvat o jeden soubor CSS navφc, co₧ m∙₧e vykreslovßnφ strßnky zpomalit. Vyberte si sami °eÜenφ, kterΘ je vßm bli₧Üφ.</p>
<h4>ProΦ nenahrazovat min-width</h4>
<p>V tΘto chvφli si takΘ m∙₧eme vysv∞tlit druh² d∙vod, proΦ nenahrazovat <em>min-width</em> pomocφ <em>expression()</em>. Pokud si u₧ivatel otev°e odkaz na naÜi strßnku v MSIE do novΘho okna, je toto okno minimalizovanΘ. Velmi pravd∞podobn∞ by se v takovΘm p°φpad∞ nastavila Üφ°ka prvku (pomocφ <code>expression()</code>) na svoji minimßlnφ hodnotu. Jak jste si ale ji₧ mo₧nß vÜimli, jakmile je takto Üφ°ka nastavena na urΦitou hodnotu, prvek si ji ponechß za vÜech okolnostφ a ji₧ se pomocφ <code>expression()</code> nezm∞nφ (proto₧e hodnota <samp>document.getElementById("hlavicka").offsetWidth</samp> bude ji₧ napo°ßd stejnß). To znamenß, ₧e i po maximalizaci okna by si prvek ponechal minimßlnφ Üφ°ku, co₧ jist∞ nenφ ideßlnφ (vzhledem k tomu, ₧e otevφrßnφ nov²ch oken nenφ nic neobvyklΘho).</p>
<h4>Nahrazenφ max-width v em</h4>
<p>Zp∙sobem, kter² jsme si prßv∞ popsali, je tedy mo₧nΘ nahradit vlastnost <em>max-width</em> v p°φpad∞, ₧e ji uvßdφte v pixelech. Nynφ si ukß₧eme, jak tuto vlastnost nahradit v p°φpad∞, ₧e je nastavena pomocφ jednotky <em>em</em>:</p>
<p>Postup je podobn² jako v p°edchozφm p°φpad∞, i kdy₧ to tak podle dΘlky k≤du nevypadß. Jedin² rozdφl je v tom, jak se zjiÜ¥uje maximßlnφ Üφ°ka v pixelech, kterß mß pro prvek v danΘ chvφli platit (v p°edchozφm p°φpad∞ bylo na tomto mφst∞ pouze Φφslo "750"). Musel jsem takΘ pou₧φt neostrou nerovnost, proto₧e s ostrou mi MSIE z mn∞ nepochopiteln²ch d∙vod∙ padal.</p>
<p>Abychom zφskali maximßlnφ Üφ°ku v pixelech, musφme nejprve zjistit velikost pφsma v bodech (pt) v dokumentu (p°edpoklßdßm, ₧e v naÜem prvku je tato velikost stejnß, pokud ne, bylo by to t°eba ve skriptu zohlednit). Vynßsobenφm tΘto velikosti Φty°mi t°etinami zφskßme velikost pφsma v pixelech (Φφslo "4/3", respektive jeho aproximaci, pro tento p°epoΦet prohlφ₧eΦe opravdu pou₧φvajφ) a tuto velikost vynßsobφme t°iceti (proto₧e Üφ°ka mß b²t <samp>30em</samp> a jedno em je rovno velikosti pφsma prvku v pixelech), Φφm₧ zφskßme maximßlnφ Üφ°ku v pixelech pro prvek.</p>
<p>Nynφ k tomu, jak zjistit velikost pφsma dokumentu v bodech. Nem∙₧eme k tomu pou₧φt vlastnost <em>currentStyle</em>, proto₧e ta obsahuje pouze p°i°azenΘ, ne p°epoΦφtanΘ hodnoty (p°i°azenß hodnota je v naÜem dokumentu <samp>small</samp>). Ud∞lal jsem tedy n∞jakΘ pokusy a zjistil jsem nßsledujφcφ:</p>
<div class='list'>
<ul>
<li>MSIE nabφzφ u₧ivateli p∞t zßkladnφch velikostφ pφsma - 9 pt pro "nejmenÜφ", 10 pt pro "malΘ", 12 pt pro "st°ednφ", 14 pt pro "velkΘ" a 16 pt pro "nejv∞tÜφ". Velikost vybranß u₧ivatelem je nastavena pro dokument a relativnφ velikost, kterou nastavujeme pro <code><body></code>, se od nφ odvozuje.</li>
<li>Pokud nastavφme pro <code><body></code> pφsmo <em>small</em>, celß stupnice se posune û 8 pt bude pro "nejmenÜφ", 9 pt pro "malΘ", 10 pt pro "st°ednφ", 12 pt pro "velkΘ" a 14 pt pro "nejv∞tÜφ".</li>
</ul>
</div>
<p>Abychom zjistili velikost pφsma dokumentu v bodech, staΦφ nßm tedy zφskat u₧ivatelem nastavenou velikost (pomocφ <samp>document.documentElement.currentStyle.fontSize</samp>) a p°evΘst ji na hodnotu odpovφdajφcφ <em>small</em>.</p>
<p>Jednß se o vcelku slo₧it² v²poΦet, kter² vÜak dßvß p°esnΘ v²sledky. Vy mu ale rozum∞t p°φliÜ nemusφte, staΦφ vßm upravit si m∙j zßpis pro svΘ pot°eby (pravd∞podobn∞ pouze ·pravou hodnoty maximßlnφ Üφ°ky). Samoz°ejm∞ byste op∞t m∞li ob∞ deklarace skr²t p°ed ostatnφmi prohlφ₧eΦi, bu∩ podtr₧φtkov²m hackem nebo pomocφ podmφn∞n²ch komentß°∙.</p>
<div class='page-right-box reading'><h3 title='NejΦten∞jÜφ Φlßnky za poslednφch 7 dn∙'>NejΦten∞jÜφ</h3><div class='page-right-box-in'><ul><li><a href='http://interval.cz/__redirect/redirect.asp?what=interval_offline&url=http://interval.cz/clanek.asp?article=3549'>Hrßtky s okrajem textu v CSS</a></li><li><a href='http://interval.cz/__redirect/redirect.asp?what=interval_offline&url=http://interval.cz/clanek.asp?article=3527'>Manußly aneb Jak jsem se nauΦil ned∞lat si starosti a mφt rßd internet</a></li><li><a href='http://interval.cz/__redirect/redirect.asp?what=interval_offline&url=http://interval.cz/clanek.asp?article=3528'>PφÜeme pro web - odliÜte se od konkurence</a></li><li><a href='http://interval.cz/__redirect/redirect.asp?what=interval_offline&url=http://interval.cz/clanek.asp?article=3546'>Zamezenφ vφcenßsobnΘho odeslßnφ formulß°e JavaScriptem</a></li><li><a href='http://interval.cz/__redirect/redirect.asp?what=interval_offline&url=http://interval.cz/clanek.asp?article=3550'>Nßvrh aplikacφ v jazyce UML - textovß specifikace p°φpad∙ u₧itφ</a></li></ul></div></div><div class='page-right-box cauldron'><h3 title='Nejdiskutovan∞jÜφ Φlßnky za poslednφch 21 dn∙'>Diskuznφ kotel</h3><div class='page-right-box-in'><ul><li><a href='http://interval.cz/__redirect/redirect.asp?what=interval_offline&url=http://interval.cz/clanek.asp?article=3533' title='(55 komentß°∙)'>Editory pro webdesignΘry - velk² programßtor</a></li><li><a href='http://interval.cz/__redirect/redirect.asp?what=interval_offline&url=http://interval.cz/clanek.asp?article=3529' title='(40 komentß°∙)'>Zaklφnadla na spam</a></li><li><a href='http://interval.cz/__redirect/redirect.asp?what=interval_offline&url=http://interval.cz/clanek.asp?article=3527' title='(22 komentß°∙)'>Manußly aneb Jak jsem se nauΦil ned∞lat si starosti a mφt rßd internet</a></li><li><a href='http://interval.cz/__redirect/redirect.asp?what=interval_offline&url=http://interval.cz/clanek.asp?article=3517' title='(21 komentß°∙)'>PφÜeme pro web - podle Φeho se zßkaznφci rozhodujφ</a></li><li><a href='http://interval.cz/__redirect/redirect.asp?what=interval_offline&url=http://interval.cz/clanek.asp?article=3549' title='(16 komentß°∙)'>Hrßtky s okrajem textu v CSS</a></li></ul></div></div>