6. HTML - rámy

Jan Sova


Rámy vám umožní rozdělit okno prohlížeče na několik částí. V každé části potom může být zobrazena jiná stránka. Rámy lze nastavit tak, aby zvolení odkazu v jednom rámu způsobilo načtení a zobrazení stránky v jiném rámu. Toho se často zneužívá při tvorbě navigačních menu

6.1. Rozložení rámů

Struktura html dokumentu s rámy se od běžného trochu liší. Stránka musí obsahovat definici rozložení rámů <FRAMESET>. V tomto párovém tagu používáme atributy ROWS a COLS, které určují na jaký počet řádků a sloupců se obrazovka rozdělí. Velikost se zadává v pixelech nebo v procentech z celkové výšky (šířky).

<FRAMESET ROWS="50%,50%">
 obsah rámů
</FRAMESET>
<FRAMESET COLS="50%,50%">
 
</FRAMESET>
<FRAMESET ROWS="20%,80%">
obsah 1. rámu
<FRAMESET COLS="30%,70%">
obsah 2. a 3. rámu 
</FRAMESET>
</FRAMESET>

6.2. Obsah rámů

Jestliže máme hotové rozložení rámů pomocí <FRAMESET>, musíme pomocí elementu <FRAME> určit, které html dokumenty se mají v rámech zobrazovat, a to pomocí atributu SRC.

<HTML>
<HEAD>
</HEAD>

<FRAMESET ROWS="50%,50%">
 <FRAME SRC="prvni.html">
 <FRAME SRC="druha.html">
</FRAMESET>

</HTML>

U tagu <FRAME> lze použít spoustu atributů. Atribut NORESIZE, který se postará o to, aby nešla velikost rámu měnit. Atribut SCROLLING=NO/YES/AUTO - pokud nastavíme na hodnotu NO, nepůjde se po obsahu rámu pohybovat. Rámy jsou od sebe odděleny rámečkem a jeho velikost (nebo úplné zrušení) měníme atributem FRAMEBORDER=0 . Vzdálenost obsahu rámu od pravého a levého okraje se provádí atributem MARGINWIDTH=x (za x počet pixelů). Atributem MARGINHEIGHT=x zase vzdálenost obsahu od horního a dolního okraje. Velice důležitým atributem je NAME, pomocí něhož zadáváme jméno rámu. To se hodí v případech, kdy chceme aby se stránky schované za odkazem v jednom rámu zobrazovaly v jiném rámu.

6.3. Určení cíle rámů

U odkazů <A> můžeme použít atribut TARGET, který určuje jméno rámu, ve kterém se má dokument zobrazit. Pokud chceme dosáhnou tohoto, musíme mít definovány jména rámů v tagu <FRAME> (viz. Obsah rámů). Př. Dejme tomu, že máme v souboru prvni.html odkazy a chceme, aby se stránky otevíraly v druhém rámu.

<HTML>
<HEAD>
</HEAD>

<FRAMESET ROWS="50%,50%">
 <FRAME SRC="prvni.html">
 <FRAME SRC="druha.html" name="hlavni">
</FRAMESET>

</HTML>

Odkazy v souboru prvni.html budou vypadat následovně :

<A HREF="neco.html"
target="hlavni">odkaz</a>

6.4. Rámy a starší prohlížeče

Protože stránka, která obsahuje rozložení rámů, je jinak prázdná, v prohlížečích, které nepodporují rámy, se nic nezobrazí. To lze napravit vložením textu do elementu BODY.

Další možností je použít element NOFRAMES, který zobrazí svůj obsah pouze na prohlížečích, které nepodporují rámy.