Design pomocφ tabulek

a proΦ ho nepou╛φvat

Mnoho profesionßl∙ v oblasti webdesignu si bez tabulek neumφ p°edstavit nßvrh hezk²ch strßnek. Ale takovΘ zkrß╣lenφ s sebou p°inß╣φ jistou nefunkΦnost, proto╛e se to pomalu zobrazuje. Pominu-li tuto nep°φjemnost, dß se s tabulkami rozumn∞ kouzlit.

Z·╛enφ obsahu - ProblΘm ╣φ°ky + vychytßvka - Design jako rßm - Sloupcovß sazba - Slo╛it∞j╣φ p°φklad - Popisky obrßzk∙ - Vno°enΘ tabulky - Rychlost zobrazovßnφ - ╚ßsteΦnß °e╣enφ - Duch HTML

Kßmen ·razu

Dne╣nφ prohlφ╛eΦe majφ jednu chybu: tabulku vykreslφ a╛ po tΘ, co ji naΦtou ·pln∞ celou. Tak╛e pokud t°eba celou strßnku uzav°ete do tabulky, Φtenß° koukß celou v∞Φnost na prßzdnou strßnku.

Je to ╣koda, proto╛e tabulky dnes p°edstavujφ jedinou mo╛nost (krom∞ je╣t∞ hor╣φch rßm∙), jak vytvo°it  nap°φklad sloupcovou sazbu, seznam souvisejφcφch odkaz∙ v levΘm sloupeΦku nebo spoustu dal╣φch efekt∙. Prost∞ kdy╛ chci n∞co n∞kam umφstit, jedinou spolehlivou mo╛nostφ jsou prßv∞ tabulky. (CSS pozicovßnφ jsou mo╛nostφ dal╣φ, ale nespolehlivou.)

Z·╛enφ obsahu

Mnoha Φtenß°∙m vadφ, kdy╛ jsou moc ╣irokΘ strßnky. ⌐patn∞ se to Φte, proto╛e se pletou °ßdky. Mimochodem prßv∞ to je d∙vod, proΦ se v novinßch pou╛φvß sloupcovß sazba.

Nejjednodu╣╣φ zp∙sob, jak text z·╛it, je uzav°φt ho do tabulky, kterß mß jen jedinou bu≥ku. Tabulce se p°edepφ╣e ╣φ°ka (atributem width="╣φ°ka v pixelech" u <table> nebo <td>). Potom se bude text zobrazovat ve sloupeΦku uvedenΘ ╣φ°ky.

B∞╛n∞ se pou╛φvajφ ╣φ°ky od 400 do 700 obrazovkov²ch bod∙ (pixel∙). ⌐φ°ka nad 800 je hloupost, proto╛e 800 je ╣φ°ka nejΦast∞ji pou╛φvanΘho zobrazenφ.

ProblΘm ╣φ°ky + vychytßvka

Pokud mß u╛ivatel men╣φ rozli╣enφ nebo malΘ okno, musφ si s textem v ╣irokΘ tabulce p°i Φtenφ posunovat doprava doleva. Asi to znßte a dßte mi za pravdu, ╛e to je na p∞st. Na╣t∞stφ existuje °e╣enφ. SpoΦφvß v tom, ╛e tabulce se ╣φ°ka nezadß, ale bu≥ce s textem ano:

<table border="1" cellpadding="6" cellspacing="0">

<tr>

<td width="500"><font size="6">Tento text ...</td>

</tr>

</table>

Tento p°φklad si m∙╛ete zobrazit v prohlφ╛eΦi. Je v n∞m sloupeΦek textu, kter² mß ╣φ°ku 500 pixel∙, pokud je v ╣ir╣φm okn∞. Pokud by byl v okn∞ u╛╣φm ne╛ 500 pixel∙, z·╛φ se.

Pokud pou╛φvßte n∞jak² wysiwyg editor, musφte si dßvat bacha, aby vßm nevlo╛il ╣φ°ku i do tagu <table>.

Design jako rßm

Proto╛e rßmy (frames) s sebou p°inß╣ejφ °adu nev²hod, je n∞kdy vhodnΘ mφsto nich pou╛φvat tabulku, kterß vypadß jakoby sestavenß z rßm∙. Myslφm, ╛e je to jasnΘ: tabulka obsahuje dv∞ bu≥ky, p°iΦem╛ ta levß (s pevnou ╣φ°kou) obsahuje n∞jakΘ odkazy a ta pravß vlastnφ text strßnky.

HlaviΦka strßnky t°eba s logem
N∞jakΘ odkazy
odkaz
odkaz
Hlavnφ text strßnky, 
kter² je obvykle 
mnohem del╣φ a ╣ir╣φ ne╛ lev² sloupec s odkazy.

Hlavnφ efekt spoΦφvß v pou╛itΘm obrßzkovΘm nebo barevnΘm pozadφ. Jsou dv∞ mo╛nosti:

  1. Jednodu╣╣φ zp∙sob pou╛φvß dva obrßzky (zvolenΘ nelΘpe tak, aby navazovaly) a spoΦφvß v nastavenφ pozadφ bu≥kßm: <td background="pozadi.gif">. «el, toto nefunguje v NN 3.
  2. Star╣φ, elegantn∞j╣φ a pon∞kud slo╛it∞j╣φ zp∙sob pou╛φvß jako pozadφ jedin² uzouΦk² obrßzek gif, kter² je velmi ╣irok². V levΘ Φßsti mß kresbu stejnΘ ╣φ°ky, jakou bude mφt levß bu≥ka tabulky. M∙╛ete si zobrazit p°φklad. uzouΦk² ╣irok² obrßzek, kter² bude pozadφ

Je╣t∞ musφm zmφnit, ╛e bu≥ky takovΘ "rßmovΘ" tabulky musejφ mφt nastaveno vertikßlnφ zarovnßnφ (valign) nahoru (top).

Sloupcovß ·prava

Mnoho dne╣nφch zpravodajsk²ch server∙ mß na strßnce jedinou tabulku. Ta obsahuje v prost°ednφm sloupci obsah, v levΘm odkazy a v pravΘm takΘ odkazy.

<table><tr>

<td>Lev² sloupec</td>

<td>Obsah strßnky jakkoliv slo╛it²</td>

<td>Prav² sloupec</td></tr>

</table>

Slo╛it∞j╣φ p°φklad

NejΦast∞j╣φ pojetφ tabulkovΘ ·pravy je toto:

HlaviΦka

Lev² sloupec

Obsahuje zpravidla

hodn∞ odkaz∙

Obsah

Obsah strßnky, vlastnφ text, kter² je d∙le╛it².

 

 

 

 

Prav² sloupec

PatiΦka

N∞kdy strßnka nemß prav² sloupec nebo patiΦku, ΦastΘ variace se t²kajφ roh∙ strßnek.. Zjednodu╣en∞ vypadß v HTML tabulkovß ·prava sloupc∙ takto:

<table width="760"> <tr> <td colspan="3" > HlaviΦka </td></tr>

<tr><td rowspan="2" width="150">Lev² sloupec</td>

<td width="500">Obsah</td>

<td rowspan="2" width="110">Prav² sloupec</td> </tr>

<tr> <td>PatiΦka </td> </tr> </table>

V╣imn∞te si zadan²ch ╣φ°ek. Tabulka je ╣irokß 760 pixel∙, co╛ se ka╛dΘmu vejde do okna i s rolovacφ li╣tou. Samoz°ejm∞ se tam musφ dopsat spousta formßtovacφch parametr∙; zejmΘna se jednß o vertikßlnφ zarovnßnφ a barvu pozadφ.

OdboΦka: Popisky obrßzk∙

Nemyslφm tφm atribut alt, kter² se zobrazuje v bublin∞, kdy╛ se obrßzek p°ejφ╛dφ my╣φ, ale prost² text, kter² je umφst∞n p°esn∞ nad nebo pod obrßzkem. Zarovnat ten text p°esn∞ nenφ sranda. Pokud mßte takov²ch obrßzk∙ s popisky na strßnce vφc, neobejdete se bez tabulek. (Proto o tom pφ╣u zde.)

atribut ALT
popisek obrßzku

CelΘ je to samoz°ejm∞ docela jednoduchΘ. Ka╛d² obrßzek se umφstφ do jednobun∞ΦnΘ tabulky, jejφ╛ bu≥ka se zarovnß na st°ed a pod obrßzek se napφ╣e text:

<table><tr><td align="center">

<img scr="fotka.jpg" width="300" height="200">

Popisek fotky

</td></tr><table>

Pokud nezadßte width a height, celΘ se to i s tabulkou zobrazφ a╛ po tΘ, co se fotka naΦte ze serveru. Kdy╛ to zadßte, prohlφ╛eΦ si na to vyhradφ mφsto. Tak╛e jednoznaΦn∞ doporuΦuji zadßvat (mnoho editor∙ to d∞lß automaticky).

Vno°enΘ tabulky

Do bu≥ky tabulky m∙╛ete vlo╛it cokoliv, tak╛e i t°eba dal╣φ tabulku. Sami urΦit∞ p°ijdete na to, kdy se to hodφ, v∞t╣inou je to pot°eba u komplikovan²ch layout∙. Jß osobn∞ nemßm zano°ovanΘ tabulky moc rßd, proto╛e je to nep°ehlednΘ a pekeln∞ to zat∞╛uje klienta. P°φznivci tΘto technologie rßdi pracujφ ve FrontPagi, kter² se tvß°φ, ╛e s vno°en²mi tabulkami pracuje levou zadnφ, co╛ je sice pravda, ale autor v∞t╣inou nevφ, ve kterΘ tabulce zrovna co deklaruje. ZaΦßteΦnφci jsou navφc uchvßceni takovou tu╛tiΦkou, kterß tabulky kreslφ, ale p°inß╣φ to jenom komplikace. Jednou jsem opravoval takovΘ zv∞rstvo z FrontPage, kde byl na jednom mφst∞ text uvnit° p∞ti vno°en²ch tabulek. Nenφ asi t°eba zd∙raz≥ovat, ╛e je to lajdßctvφ. Neznßm d∙vod, proΦ zano°ovat vφce jak dv∞ tabulky.

P°i tvorb∞ dynamick²ch strßnek (PHP, ASP - tomuto tΘmatu jsem se dosud vyh²bal) je n∞kdy pot°eba, aby se obsah nenaΦφtal po °ßdcφch, ale po sloupcφch. JedinΘ rozumnΘ °e╣enφ jsou prßv∞ vno°enΘ tabulky, v tomto p°φpad∞ je to na mφst∞.

Rychlost zobrazovßnφ

Prohlφ╛eΦe zobrazφ tabulku a╛ po tΘ, co dorazφ na klienta celß. Neumφ to vykreslovat po bu≥kßch.

ProΦ to tak je: prohlφ╛eΦ se bojφ, ╛e v tabulce najde n∞co stra╣n∞ ╣irokΘho, kv∙li Φemu╛ by musel m∞nit ╣φ°ku sloupc∙. Tak╛e rad∞ji zobrazφ tabulku a╛ po tΘ, co se ujistφ, ╛e na╣el nej╣ir╣φ objekty.

Z toho vypl²vß, ╛e si nelze dovolit zavφrat do tabulek texty, kterΘ se naΦφtajφ dΘle ne╛ asi dv∞ sekundy. Jestli╛e to chßpete tak, ╛e kv∙li tomu vlastn∞ nelze pou╛φt v²╣e uvedenΘ postupy, mßte ·plnou pravdu. Na╣t∞stφ existujφ n∞kterß ΦßsteΦnß °e╣enφ a ani rychlost zobrazenφ nenφ ╛ßdnß modla, ╛e by se jφ muselo p°izp∙sobit ·pln∞ v╣echno.

╚ßsteΦnß °e╣enφ

Rozli╣ovat projekty

Pokud stavφte pro n∞jakou firmu komerΦnφ prezentaci, tak tam ty tabulky klidn∞ m∙╛ete pou╛φt, proto╛e

  1. na firemnφ strßnky stejn∞ nikdo nekoukß
  2. akorßt majitel firmy, ale ten to mß v cache pam∞ti, tak╛e se mu to zobrazuje rychle
  3. firmy platφ za krßsu a ne za funkΦnost, tak╛e se bez tabulek neobejdete.

Rozm∞rovat obrßzky

U obrßzk∙ v tabulkßch je uvedenφ rozm∞r∙ naprostou nutnostφ. Kdy╛ se toti╛ rozm∞ry neuvedou, musφ prohlφ╛eΦ naΦφst cel² obrßzek (co╛ m∙╛e trvat dlouho), zatφmco se v∙bec nic z tΘ tabulky nezobrazuje, proto╛e prohlφ╛eΦ Φekß, jak bude ten obrßzek velk² a jestli se mu tam v∙bec vejde. Obzvlß╣╗ varuji p°ed poΦitadly: ty se v∞t╣inou stahujφ dlouho (proto╛e se na serveru poΦφtajφ) a nemajφ explicitn∞ uvedenou ╣φ°ku.

Pou╛φt vφce tabulek

Normßln∞ ten text rozd∞lte do vφce tabulek. Ta prvnφ nech╗ je krat╣φ, zobrazφ se rychle a Φtenß° m∙╛e Φφst, zatφmco se stahuje ta druhß tabulka. Ale pozor! Velice ╣patn∞ se takovΘ strßnky aktualizujφ. LΘpe °eΦeno skoro to nejde. Toto °e╣enφ se tedy dß pou╛φt jen u strßnek, kterΘ se dlouhodob∞ nebudou m∞nit, nebo u serverem generovan²ch strßnek (CGI, PHP, ASP).

ObtΘkanΘ tabulky

Moje oblφbenΘ °e╣enφ pro ΦßsteΦnou sloupcovou sazbu. Na zaΦßtek strßnky umφstφm tabulku obtΘkanou zleva (align="right") s n∞jak²m textem, kter² logicky pat°φ od boΦnφho textu. Rychlost zobrazovßnφ je uspokojivß, proto╛e obsah tΘ tabulky je mal². Kamarßd MaKr mi navφc poradil, ╛e kdy╛ se takovΘ tabulce nastavφ velmi velkß v²╣ka (height="10000" t°eba), tak to vypadß, jako kdyby to byl jako rßm.

CSS pozicovßnφ

Pozicovacφ vlastnosti kaskßdov²ch styl∙ umo╛≥ujφ umφstit n∞jak² blok textu nebo prost∞ cokoliv na jakΘkoliv mφsto dokumentu. Dß se tak ud∞lat i sloupcovß ·prava. ProblΘm je snad jen v tom, ╛e tyto vlatnosti jsou r∙zn²mi prohlφ╛eΦi interpretovßny r∙zn∞, tak╛e je to pot°eba d∞sn∞ dlouho ladit, p°iΦem╛ stejn∞ nenφ nic zaruΦeno. Na druhou stranu tento postup neodporuje duchu HTML, jako to d∞lajφ tabulky.

Duch HTML

HTML p∙vodn∞ vzniknul jako jazyk vymezujφcφ obsah, nikoliv formu. Tak╛e je naprosto nesmyslnΘ d∞lat sloupcovou sazbu tabulkou, proto╛e to nenφ tabulka, ale sloupcovß sazba. «el, tag pro sloupcovou sazbu v HTML nenφ (je v roz╣φ°enφ, ale nenφ Explorerem podporovßn), tak╛e se musφ ud∞lat tabulka. Z hlediska "ducha HTML" je to zv∞rstvo.

LeΦ k velkΘ lφtosti mnoh²ch je internet zv∞rstev pln², je nacpan² deklaracemi, ve kter²ch ·Φel sv∞tφ prost°edky. Asi se s tφm nedß nic d∞lat. Jenom skromn∞ navrhuji pou╛φvat tabulky opravdu jen na tabulky.

Krßsn∞ to jednou v jednom mailu vystihl Svi≥ßk (voln∞ cituji): "Pφ╣e╣, ╛e dne╣nφ internet odporuje duchu HTML. Ale co kdy╛ je to spφ╣ tak, ╛e HTML u╛ nedostaΦuje pot°ebßm dne╣nφho webu?" Touto krßsnou ·vahou konΦφm pojednßnφ o tabulkov²ch fφglech, kterΘ rad∞ji moc nepou╛φvßm.

P°edchozφ: NovΘ vlastnosti tabulek
Vizte tΘ╛: obsah/forma, rßmy, CSS pozicovßnφ, Jak ud∞lat levΘ menu, Co ovliv≥uje rychlost strßnek, rolovacφ li╣ty tabulek, V╣e o pozicovßnφ

Pφ╣e Yuh∙
dusan@pc-slany.cz
mail formulß°em
Jak psßt web O tvorb∞, ·dr╛b∞ a zlep╣ovßnφ internetov²ch strßnek.

Zßklady HTML CSS FrontPage Hledßnφ

Obsah

Hlavnφ strßnka

Novinky

FAQ

Download

Zdroje

Hledßnφ


Roz╣φ°enΘ

Zßkladnφ kurs

Jak ud∞lat strßnku

Zßklady HTML

Publikovßnφ

Zßsady psanφ

Editory

R∙znΘ prohlφ╛eΦe

Editory

FrontPage 2000

FP Editor 98

Word 97

FrontPage Express

HTML tipy

P°φprava obrßzk∙

Obrßzky

Pozadφ

Odkazy

Vychytßvky odkaz∙

Zßlo╛ky

Aktivnφ mail

Tabulky

┌prava tabulek

Novinky tabulek

Design tabulkami

Rßmy

Formßtovßnφ rßm∙

Rßmy nepou╛φvat

Iframe

Formulß°e

Formulß°e v HTML

DokonalΘ formulß°e

Zßpis barev

Definice

Formßtovacφ chyby

Jak ud∞lat levΘ menu

Vyt∞╛ovßnφ strßnek

Provoz webu

Rychlost strßnek

VzdßlenΘ slu╛by

VyhledßvaΦe

Katalogy

Sprßva soubor∙

Ikona strßnky

Obsah / forma

╚e╣tina

Chyby Φe╣tiny

Tabulky k≤dovßnφ

Meta tagy

Nastavenφ serveru

Programovßnφ strßnek

ZaΦßtky PHP

Mo╛nosti PHP

Pou╛φvßnφ prohlφ╛eΦe

CSS styly

CSS styly

┌vod do CSS

Struktura textu

CSS prakticky

P╪EHLED VLASTNOST═ CSS

Slo╛it∞j╣φ deklarace

DΘlkovΘ jednotky

Pozicovßnφ

Sloupce pozicovßnφm

Okraje objekt∙

Odli╣enφ prohlφ╛eΦ∙

Omezenφ CSS

Odli╣n² tisk

DynamickΘ HTML

Filtry

P°φklady filtr∙

R∙znΘ barvy odkaz∙

Barva rolovacφ li╣ty

 


Jak psßt web: http://dusan.pc-slany.cz/internet/

Pφ╣e Yuh∙: autorova strßnka, mail: dusan@pc-slany.cz

Poslednφ aktualizace 26.11.2001