5. prosince 2011 17:54

11. díl - Rámy - 2. část

Dnes se podíváme, jak udělat, aby z jednoho rámu odkazovali odkazy do jiného rámu, poprvé použijeme multi-rámy, dozvíme se, jak zobrazit alternativní text pro prohlížeče a vyhledávače, kteří nepodporují rámy a nakonec si ukážeme rámy vnořené.

Základní cíl

Jak už nadpis napovídá, tak by se dala přeložit značka <base> se svou vlastností target. Tato značka a její vlastnost target je užitečná hlavně pro rámy, protože nastavuje "základní cíl" odkazů. Má stejný význam, jako stejnojmenná vlastnost u odkazů (tedy značky <a>). Má však obrovskou výhodu a tou je, že platí pro všechny odkazy v daném souboru resp. rámu. V odkazu se dá target (cíl) samozřejmě změnit, ale pokud odkazujete jen do jednoho rámu, je použití této značky výhodné. Značka není párová, ale musí se nacházet v hlavičce dokumentu. Pokud tedy máme rám se jménem "obsah", pak bude značka <base> vypadat následovně:

<base target="obsah">

Multi-rámy

Pokud jste pozorně četli minulý díl, našli jste v něm, že rámy lze rozdělit buď do sloupců nebo řádku. Ale co kdyby jste chtěli udělat třeba nahoru logo, které bude přes celou šířku stránky, a pod logo dát vlevo menu a vpravo samotný obsah? To řeší tzv. multi-rámy. Není to nic jiného, než 2 a více do sebe vnořených skupin rámů (<frameset>). Pro lepší pochopení se podívejte na následující příklad:

<frameset rows="180,*">
<frame src="hlavicka.html" noresize>
<frameset cols="200,*">
<frame src="menu.html" name="menu" noresize>
<frame src="obsah.html" name="obsah" noresize>
</frameset>
</frameset>

První <frameset> rozdělí rámy na 2 řádkové části. Horní bude mít 180px na výšku a bude v něm umístěna hlavička. Tento rám není třeba pojmenovávat, protože z největší pravděpodobnosti do něj odkazovat nebudeme. Ten druhý dolní bude mít zbytkovou velikost. Tam však místo dalšího <frame> umístíme druhou značku <frameset>, která tento rám rozdělí na 2 sloupce o velikosti 200px a zbytkovou velikost. Do nich potom umístíme menu a obsah a pojmenujeme. Nyní si můžeme říci, že jsme uspěšně zvládli vytvořit multi-rám.

Podívejte se na příklad, jak to bude vypadat.

Noframes - žádné rámy

V dnešní době už značku <noframes> nemá smysl uvádět, protože všechny nejpoužívanější prohlížeče (Firefox, Google Chrome, Opera, IE, ...) a vyhledávače (Google, Seznam, ...) rámy podporují. V dřívější době některé prohlížeče i vyhledávače rámovou strukturu nechápaly. Pro ně tu byla (a stále je) značka <noframes>. V ní může být jakkoli formátovaný HTML text, ale tento text se zobrazí pouze tehdy, pokud prohlížeč (nebo vyhledávač) rámy prostě nechápe, neumí je zobrazit. Je to značka párová, nemá žádné vlastnosti a vyskytuje se ve značce <frameset>.

Iframe - vnořené rámy

Vnořené rámy (zapisované značkou <iframe>) jsou velmi užitečné, potřebujete-li zobrazit nějakou jinou stránku ve stránce jiné tak, aby nepodléhala daná stránka a obsah v ní stylům hlavní stránky. Na rozdíl od klasických rámu se však ve stránce zobrazí jako obdélník a pokud mu to nenastavíte, nebude překrývat celou stránku (dá se mu nastavit šířka a výška). Lze ho umístit kamkoliv do dokumentu mezi značkami <body> a </body>. I když se to možná nezdá, je to značka párová. Pokud ji zapomente uzavřít, máte průšvih, protože se zbytek stránky nezobrazí. Mezi <iframe> a </iframe> totiž patří alternativní text, který se zobrazí prohlížečům a vyhledávačům, kteří tuto značku nechápou.

Vlastnosti značky <iframe>

Značka vnořených rámů má hned několik vlastnosti, z nichž funguje jen několik:

Vlastnost Význam Hodnoty Podpora*
src adresa zobrazované stránky URL všude
width šířka vnořeného rámu pixely nebo procenta všude
height výška vnořeného rámu pixely nebo procenta všude
name jméno rámu libovolná všude
align zarovnání rámu - jako u obrázků left, right, top, texttop, middle, absmiddle, baseline, bottom, absbottom všude
frameborder šířka rámečku pixely všude pouze 0 a 1
bordercolor barva rámečku barva nikde
scrolling povolení rolování yes, no, auto nikde
marginheight vnější horní a dolní okraj pixely FF
marginwidth vnější levý a pravý okraj pixely FF
hspace vnější horizontální okraj pixely IE
vspace vnější vertikální okraj pixely IE
longdesc dlouhý popisek libovolná všude

* - testováno v prohlížečích Mozilla Firefox v8.0 (FF), Google Chrome v15.0.874.121 (CH) a Internet Explorer 9 (IE)

Proč se rámům vyvarovat

Rámy jsou již bohužel zastaralé a nabízí hned několik důvodů proč se jim vyvarovat (toto neplatí o vnořených rámech). Jejich problémy jsou velké a pokud vás to zajímá proč je nepoužívat, přečtěte si článek Dušana "Yuhů" Janovského na jakpsatweb.cz. Cituji závěr tohoto článku:

"Protože grafické efekty podobné rámům se dají udělat i pomocí tabulek nebo CSS pozicováním, rámy doporučuji nepoužívat. Jste-li ale začátečníci, jsou rámy dobrou volbou."

Hodnocení

Celkové hodnocení
6 hlasů
Vaše hodnocení
Vyberte počet hvězdiček

Komentáře

Jméno:
Předmět:
Komentář:
  :):-|:P:D;):(8)[evil][arrow][idea][?][!]
Kontrola:
Žádné komentáře.
© 2011 - 2024 SuperMartas a Tomáš Hypeš