vnořený rám
Příklad - Atributy tagu IFRAME - Alternativa - Odkazy tam a zpátky - Použití
Všechny moderní prohlížeče kromě Netscape 4.x podporují tag <iframe>. Ten umožňuje vložit do stránky rám přesné velikosti a zobrazit v něm jinou stránku (té říkám "vnořená"). Je to pak hodně podobné obrázku, akorát že obsah může být zcela libovolný (textový a rolovaný). Iframe se čte ífrejm, anglicky ajfrejm a v českých textech se také občas označuje jako plovoucí rám.
V HTML kódu to vypadá takhle:
<iframe src="priklad15.htm" width="300" height="100">
</iframe>
Na stránce se potom objeví toto:
Hezké, ne?
Všimněte si prosím, že tag <iframe> je párový.
<iframe src="rainbow.htm" width=50% height=30 frameborder="0" align="baseline"
scrolling=no name=ifrejm>
zobrazí vnořený rám přes půl šířky stránky vysoký 30 pixelů, bez rámečků a lišt. V rámu bude stránka rainbow.htm. Zarovnaný bude na základnu řádku. Jmenuje se ifrejm.
Vzhled všeho, co bude v tom iframe, se dá nastavit pouze v tom vloženém souboru. Nejde to z vnějšího. Například tedy barva pozadí té vnořené stránky se musí definovat ve vnořené stránce. Dokonce i rámečky iframu se nejlépe udělají stylováním body pomocí border ve vnitřním souboru.
Co se zobrazí v prohlížečích, které <iframe> nepodporují?
Tam se zobrazí to, co je mezi značkami <iframe> a </iframe> (tedy v "obsahu" tagu).
<iframe src="priklad15.htm" width="300" height="100">
Alternativní obsah.
</iframe>
Prohlížeče, které <iframe> podporují, musejí alternativní obsah ignorovat. Z
toho mimo jiné vyplývá, že pokud zapomenete </iframe>
, jste v
rejži.
Starší prohlížeče bez podpory alternativní obsah zobrazují. Bývá zvykem dávat do alternativního textu odkaz na vnořenou stránku, aby se k ní dalo dostat přes libovolný prohlížeč. To je dobré mimochodem také pro vyhledávací roboty.
Odkazy se dají nasměrovat do různých rámů pomocí atributu target u odkazu.
<a href="stranka.htm" target="ifrejm">Odkaz
do ifrejmu</a>
<iframe name="ifrejm" ...></iframe>
V odkazu se použije u targetu jméno vnořeného rámu (to je atribut name).
Možná vás napadne, že vnořená stránka nemůže vědět, jak se jmenuje nadřazený rám. No to opravdu nemůže. Naštěstí existuje generické jméno rámu _parent, které označuje rodičovský rám. Ve vnořené stránce bude:
<a href="jina_stranka.htm" target="_parent">Odkaz
z ifrejmu do rodičovského okna</a>
Po kliknutí samozřejmě zmizí obě dvě stránky, protože se načte úplně jiná stránka.
Pokud je tam takových odkazů víc, vyplatí se vložit do hlavičky vnořené
stránky tag <base target="_parent">
.
Úplně normálně bez atributu target.
Protože prohlížeč Netscape 4 je na ústupu, dají se vnořené rámy vcelku dobře používat. Nejčastěji se využívají jako různá menu nebo pro usnadnění práce autora. V poslední době je vídám zejména v reklamách. Určitě vymyslíte spoustu možností. Důležité je vědět, že to existuje.
Pokud musím odeslat ze stránky formulářem údaje do v jiném kódování, než v jakém mám stránku udělanou, je iframe asi jediná možnost. Do iframe se dá stránka jinak kódovaná, do ná se dá formulář a formuláři se nastaví target="_parent".
Nepříjemné je, že nejde udělat takový iframe, který by měnil rozměry podle velikosti vnitřního dokumentu. Rozměry width a height je nutno zapsat napevno při konstrukci vnější stránky. Možná by na to šel napsat nějaký javascript, ale nenapadá mě jak.
Předchozí: Proč nepoužívat rámy
Vizte též: Formátování rámů,
Odkazy v HTML
o tvorbě, údržbě a zlepšování internetových stránek