Rámy
Nepleťte si rámy s rámečky! (Jak dělat CSS rámečky) Pomocí rámů lze rozdělit obrazovku na několik částí, v každé pak může být jiný obsah. Rámy jsou rozumným řešením pro navigaci. V jednom okně je menu, které se nemění a v druhém obsah stránky, který se mění.
Logika tvoření rámů
Píšete, jak se má rozdělit obrazovka (horizontálně na poloviny a dolní polovinu na polovinu..). Rámy se vždy deklarují v sekci <head> a </head> Základem je značka <frameset>, která určuje, jak se stránka rozdělí.
<frameset rows="20%, 80%"> <frame src="horni_menu.html"> <frameset cols="20%, 80%"> <frame src="leve_menu.html"> <frame src="obsah.html"> </frameset> </frameset>
Nejprve rozdělíme obrazovku na 20% a 80% horizontálně, do 20% oblasti vložíme stránku, a rám 80% rozdělíme opět na 20% a 80%, ale vertikálně
Složitějsší deklarace
1. Rozdělíme obrazovku horizontálně na dvě části a do té první vložíme nějakou stránku.
2. Rozdělíme obrazovku vertikálně na dvě části a do té první vložíme stránku
3. Zbytek rozdělíme horizontálně na dvě části a do té druhé vložíme obsah
4. Zbytek opět rozdělíme vertikálně na dvě části, do té druhé vložíme stránku
5. Zbytek rozdělíme horizontálně na dvě části a vložíme do nich obsah
A nyní přijde přepis na HTML, kdykoli dělíme obrazovku, použijem tag <frameset>, kdykoli vkládáme obsah použijeme <frame>
<frameset rows="10%,90%"> <frame src="stranka.html"> <frameset cols="10%,90%"> <frame src="index.php3"> <frameset rows="90%, 10%"> <frameset cols="90%,10%"> <frameset rows="50%, 50%"> <frame src="index.php3"> <frame src="index.php3"> </frameset> <frame src="index.php3"> </frameset> <frame src="index.php3"> </frameset> </frameset> </frameset>
značka frameset
atribut | použití | hodnoty |
---|---|---|
rows | rozdělení na řádky | velikost v pixelech, nebo v procentech |
cols | rozělení na sloupce | velikost v pixelech, nebo v procentech |
border | šířka rámečku | v pixelech |
frameborder | zobrazení rámečku | yes | no |
bordercolor | barva rámečku | red, #000000 |
framespacing | mezery mezi rámy | v pixelech |
značka frame
atribut | použití | hodnoty |
---|---|---|
src | cesta ke stránce | URL |
name | jméno pro zacílení odkazů | cokoli |
scrolling | yes | no | auto | zobrazení rolovacích lišt |
noresize | yes | no | možnost měnit velikost rámů |
marginheight | vertikální okraje rámu | v pixelech |
marginwidth | horizontální okraje rámu | v pixelech |
frameborder | šířka rámu | v pixelech |
framecolor | barva rámu | red, #000000 |
značka iframe
Vloží na normální stránku plovoucí rám. Syntaxe:
<iframe>alternativní obsah<iframe>
atribut | použití | hodnoty |
---|---|---|
src | cesta ke stránce | URL |
name | jméno pro zacílení odkazů | cokoli |
width | šířka rámu | v pixelech |
height | výška | v pixelech |
align | zarovnání | left | right | top | texttop | middle | absmiddle | baseline | bottom | absbottom |
marginheight | vertikální okraje rámu | v pixelech |
marginwidth | horizontální okraje rámu | v pixelech |
frameborder | šířka rámu | v pixelech |
framecolor | barva rámu | red, #000000 |
scrolling | yes | no | auto | zobrazení rolovacích lišt |
noresize | yes | no | možnost měnit velikost rámů |
hspace | vnější horizontální okraj | v pixelech |
vspace | vnější vertikální okraj | v pixelech |
značka noframes
Mezi značky <noframes> a </noframes> se zapisuje alternativní obsah stránky (pokud prohlížeč nepodporuje rámy)
Využití rámů
Je nasnadě. Pro:
- Jednoduchost
- Zajímavý vzhled
- Jednoduchá navigace (menu v rámu)
Proti:
- problémy s ukládáním
- problémy při otevření v novém okně
- problémy s tisknutím
- pokud otevřu stránku, která měla být v rámech, nezobrazí se mi menu
- nevím URL stránky
- mohou vadit vyhledávacím robotům
- ovládání, tlačítkem tab přepínám mezi odkazy jen v jednom rámu
- v některých prohlížečích se nezobrazují
Zjevná výhoda:
- pomocí rámů můžete sledovat několik stránek najednou, některé aktualizovat
XHTML rámy a validita
Aby stránka používající rámy byla validní, musí být deklarace typu dokumentu musí být FRAMESET
Vyhledávání
Poradna
Pokud si nevíte rady, chcete kontakt na spolehlivého tvůrce webu, či vás zajímá cizí názor, ozvěte se.