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é.
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ě:
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:
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.
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>.
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.
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)
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."