Nejen z tabulek a formulářů živ je web, dnes se tedy podíváme co jsou to rámy a jak se v html používají.
23.9.2004 10:00 | Pavel Kácha | czytane 32891×
RELATED ARTICLES
KOMENTARZE
Co to jsou rámce?
Při formátování našeho dokumentu si můžeme vybrat z několika způsobů (technologií).
Dříve se stránky forámátovaly především pomocí tabulek. To byl jediný způsob,
jak docílit prakticky stejného zobrazení ve všech prohlížečích. Tento způsob se
udržel až do dnešních dob. Pokud ale napíšete celé stránky do tabulkového layoutu,
má to své nevýhody: kód je zbytečně velký, nepřehledný a při aktualizaci se v něm
špatně orientuje (je pravda, že orientace v mnoha vnořených tabulkách se dá
natrénovat, ale není to to pravé) a navíc pokud si chce naše stránky prohlédnout
uživatel se zrakovým postižením, který používá nějaký program pro čtení textu
na stránkách, bude mu je jeho program číst jako by slo o vnořené tabulky,
takže se k požadovaným informacím dostane jen velmi těžko. Z těchto (a dalších)
důvodů se hledala za tabulkový design náhrada.
Touto náhradou jsou kaskádové styly (CSS), které umožňují vytvářet na stránkách
stejné struktury jako tabulky (a přidávájí i mnoho dalšího)a navíc jsou mnohem
ohleduplnější k velikosti stránek (můžete si pravidla pro formátování celých
stránek napsat do jednoho souboru, který budete vkládat do všech stránek - tento soubor
se přitom načte jen jednou, při dalších použitích už se bude načítat z cache.)
Více o kaskádových stylech se můžete dozvědět z Vaškova seriálu.
Kaskadové styly mají jednu velkou nevýhodu v tom, že jsou poměrně novou technologii.
Z toho pramení, že autoři prohlížečů ještě stále zapracovávají funkce CSS do svých
prohlížečů (U otevřených aplikací to není až takový problém, nejvíce bohužel zaostavá
jeden nejmenovaný nejpoužívanější :( prohlížeč a jeho funkce se zřejmě nezlepší minimálně
do roku 2006, na který je ohlášena nová verze.). Podpora v prohlížečích je asi to jedinné,
co brání CSS v opravdu masovém nasazení. I dnes se vytváří weby formátované jen pomocí
CSS, ale stále jich není většina.
V dnešní době se tedy obě tyto možnosti prolínají a weby se dost často tvoří jako mix
tabulkového layoutu, který je dotvořen v CSS.
V případě, že se vám z jakéhokoli důvodu nelíbí představa, že své stránky budete
formátovat pomocí jednoho z popsaných způsobů, nezoufejte. Existuje ještě jakási
třetí cesta. A tou jsou právě rámce.
Rámce přináší do html možnost rozdělit stránku na několik samostatných částí. Do
každé části stránky můžete vložit jeden html soubor, který se potom zobrazí v území,
které jste pro něj při vymezování prvku připravili (pokud by se stránka nemohla
do určeného prostoru vejít, objeví se po jeho stranách lišty - pokud jste je
nezakázali vytvářet.)
Jak vytvořit stránku s rámci
Možná se zeptáte zda má vůbec cenu učit se rámce, když se dnes dá už prakticky
vše vytvořit pomocí CSS. V téhle oblasti se webmasteři dost odlisuji, někteří
jsou pro používání rámů, jiní jsou v naprosto neoblomné opozoci..
Můj osobní názor je takový: že určitě má smysl zjistit si,
co že to vlastně rámy jsou a jak se dělají, ale nejspíš je příliš v praxi
nevyužijete...
Stránky s využitím rámců mají tu zvláštnost, že hlavní stránka, neobsahuje
žádný běžně zobrazovaný text, ale pouze definici rozložení jednotlivých oblastí
na stránce a další doplňující informace.
Kromě toho musíme použít i speciální hlavičku pro definici stránky s rámci. O tom jsme si již povídali v prvním díle našeho seriálu.
Hlavička dokumentu bude vypadat například takto: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
Po tradiční hlavičce přijde další změna místo elementu <body>
použijte element <framset>. Jde o párový tag a ukončovací tag je povinný.
V dnešním dílu si ukážeme, jak vytvořit stránku, kterou rozdělíme na část pro
menu a na část pro zobrazování vlastního textu.
Levý sloupec pro menu bude široký 150 pixelů a pravý sloupec chceme mít roztažený
až do konce stránky. K tomu nám poslouží atribut cols="" v
elementu <framset>. Jako jeho hodnotu zadáme šířku pro
jednotlivé sloupce, tedy: 150, *
. Hvězdička označuje zbývající místo
po rozdělení stránky pro části s fixní velikostí.
Nyní nadefinujeme obsah jednotlivých částí stránky. Poslouží nám k tomu element
<frame> a jeho atribut src="".
Jako jeho hodnotu uvedeme cestu k souboru (stránce), který chceme vložit do stránky,
např.: menu.html
Element <frame> je nepárový a musíme ho zavolat pro
každu část stránky, kterou jsme nadefinovali, takže v našem příkladu budou potřeba
dvě použití elementu <frame>
Nakonec můžeme připsat mezi párový tag <noframes> informaci
pro návštěvníky, kteří mají prohlížeč, který nepodporuje rámy.
A nyni celý příklad (bez určení typu dokumentu a hlavičky):
<frameset cols="150, *">
<frame src="menu.html">
<frame src="hlavni.html">
</frameset>
<noframes>
Váš prohlížeč bohužel nepodporuje rámce.
</noframes>
Příště se podíváme na další příklady použití rámců a probereme si všechny pouzitelné atributy.