rychlokurs HTML

Rámce

Rámce rozdělují plochu okna browseru na menší podokýnka - v každém z rámců může být nahraný dokument z odlišného URL, každý rámec může mít svoje jméno, na které se lze odkazovat, každý rámec může anebo nemusí jít zmenšovat a zvětšovat. Rámce jsou implementovány od verze 2.0 Netscape Navigatoru a verze 3.0 Microsoft Internet Exploreru. Rámce využíváme ve webové podobě HaTMatiLky.


<frameset> nastavení rámců
<noframes> nerámcová alternativa

Chceme-li mít stránku rozdělenou na rámce, musíme nejprve vytvořit zvláštní, "rámcový" html dokument. Běžný příkaz <body> v něm nahradíme příkazem <frameset>, do kterého uzavřeme definici rámců. Konec definice rámců označuje příkaz </frameset>. Pro zastaralé browsery nezobrazující rámce můžeme za něj uvést příkaz <noframes> a v něm naprogramovat "nerámcový" vzhled stránky. Cokoliv uzavřeného uvnitř příkazu <noframes> bude rámce ovládající browser ignorovat.

Rows= seznam hodnot oddělený čárkami: pixelů nebo procent nebo relativních hodnot
Cols= seznam hodnot oddělený čárkami: pixelů nebo procent nebo relativních hodnot
Oba dva atributy určují rozvržení rámců uvnitř okna browseru. Je jedno, jestli začneme dělit plochu okna nejprve vodorovně - na řádky - atributem Rows anebo svisle - na sloupce - atributem Cols. Rámce rozvrhneme uvnitř okna rekurzívně: nejdřív jedním příkazem <frameset> třeba s atributem Rows rozdělíme plochu okna vodorovně a potom do prvního příkazu <frameset> uzavřeme další příkaz <frameset>, tentokrát s atributem Cols.

Hodnota těchto dvou atributů může být číselná, v procentech anebo relativní. Je-li číselná, jedná se o šířku sloupce či řádku udanou v bodech. Jedná-li se o hodnotu v procentech, jde o příslušnou část šířky ši výšky okna browseru. Hodnota relativní je značena hvězdičkou a znamená, že řádek nebo sloupec vyplní zbývající prostor okna. Je-li relativně zadaných řádků či sloupců více, než pouhý jeden, může se před hvězdičkou uvést číslo. Číslo značí, kolikrát bude tato relativní část větší, než zbývající relativní části. Nekryje-li se rozdělení rámců s aktuální šířkou či výškou okna browseru, browser rozdělení rámců přizpůsobí.

Příklad levého sloupce širokého 80 bodů a pravého sloupce dvakrát širšího, než je prostřední:

    <frameset cols="80,*,2*">

Schéma html dokumentu s rámci:

    <html>

    <frameset cols="*,2*">
      <frameset rows="2*,*">
      </frameset>
    </frameset>

    <noframes>
    </noframes>

    </html>

Border= číslo
U Netscape udává v pixelech šířku rámečků ohraničujících rámce - globálně v celém dokumentu.

Bordercolor= barva
Opět u Netscape: barva rámečků globálně v dokumentu, udaná slovně nebo jako hexadecimální číslo.

Frameborder= yes, no
U Netscape globálně udává, zdali jsou rámce ohraničeny rámečky, či nikoliv.


<frame> rámec

Tento příkaz definuje v každém řádku nebo sloupci jednotlivé rámce.

Src= URL
Určuje adresu dokumentu, který se do rámce načte.

Name= text
Slouží k pojmenování rámce. Pojmenovaný rámec má tu výhodu, že se na něj lze odkazovat atributem Target příkazu <a>.

Kromě toho, že se odkážete na nějaký rámec pojmenovaný vámi, jsou tato vyhražená jména:

    _blank
    odkaz na nové nepojmenované okno
    _self
    odkaz na sebe sama
    _parent
    odkaz na našeho rodiče - tedy jakési to "nadokno"
    _top
    odkaz na top-level okno

Marginwidth= číslo
Marginheight= číslo
Udávají mezeru vertikální a horizontální uvnitř rámce - mezeru mezi rámečkem a jeho dokumentem. Čím větší číslo, tím víc je dokument zobrazován vprostřed rámce.

Scrolling= yes, no, auto
Standardně je tato hodnota nastavena na "auto." Když je "auto," rámec bude vybaven skrolovací lištou teprve pak, až to bude potřeba. Když je "yes," zobrazí se lišta za všech okolností, když je "no," žádná skrolovací lišta se nikdy neobjeví.

Noresize
Atribut bez parametrů. Značí, že rámce nepůjde přesouvat.

Frameborder= číslo
Šířka rámečků v pixelech. 0 značí žádné viditelné rámečky. Znamená, že rámce nepůjdou přesouvat.


Příklad rámců

Výsledek tohoto příkladu se vám otevře v samostatném okně browseru.

Tip: zkuste zaměnit řádky a sloupce, pohrajte si se šířkou a barvou rámečků.

Definiční soubor ramce_pr.html:

    <html>
    <frameset rows="80,*,90" border=10>
      <frameset cols="2*,*">
        <frame>
        <frame>
      </frameset>
      <frameset bordercolor=red cols="*,2*" frameborder=0>
        <frame src="ramce_pr_l1.html" name="levy_ramec" scrolling="no" frameborder=0>
        <frame src="ramce_pr_pravy.html" marginheight=30 marginwidth=30 frameborder=0>
      </frameset>
      <frameset>
        <frame noresize>
      </frameset>
    </frameset>
    <noframes>
    <a href="ramce_pr_l1.html">Ne-rámce</a>
    </noframes>
    </html>

Soubor ramce_pr_l1.html:

    <html><body bgcolor=green>Kočka</body></html>

Soubor ramce_pr_l2.html:

    <html><body bgcolor=green>Pes</body></html>

Soubor ramce_pr_pravy.html:

    <html><body bgcolor=yellow>
    <a href="ramce_pr_l1.html" target="levy_ramec">Kočka vlevo</a><p>
    <a href="ramce_pr_l2.html" target="levy_ramec">Pes vlevo</a><p>
    <a href="ramce_pr_l2.html" target="_self">Pes semhle</a><p>
    <a href="ramce_pr_l1.html" target="_parent">Kočka v celém okně</a><p>
    <a href="ramce_pr.html" target="_blank">Další okno</a><p>
    </body></html>

Pavel Pospíšil