Iframe a Frame - co to je a jak nejlépe používat rámce v Html

Takže rámečky... k čemu jsou a jaké výhody poskytují? Pokusím se o tom mluvit v této kapitole a samozřejmě o tom, jak je implementovat a pracovat s nimi.

Při vytváření webových stránek je často nutné otevřít několik HTML dokumentů současně v jednom okně prohlížeče... takže byly vytvořeny rámce pro definování pracovních oblastí pro každý dokument. Kromě toho jsou rámy dobrým nástrojem, pomocí kterého můžete udělat rozložení stránky, slouží jako důstojná „alternativa“ k tabulkové metodě rozložení stránky... Slovo „alternativní“ dávám do uvozovek, protože je to úplně jiný způsob; budování webu s vlastními výhodami a nevýhodami a je docela těžké to srovnávat s dosud známou konstrukcí webu.. ale nejdřív..

No, začneme? Řekněme, že potřebujeme otevřít tři HTML dokumenty najednou v jednom okně prohlížeče a uspořádat je například takto:

Co k tomu potřebujeme? Pro začátek si samozřejmě musíme vytvořit tři samostatné html dokumenty, které vlastně otevřeme v jednom okně Nechť první dokument obsahuje grafický obrázek a funguje jako logo, říkejme mu logotyp.html, druhý dokument bude. nějaký obsah.. říkejme tomu menu .html a třetí je dokument s velkým množstvím textu. text.html. Samozřejmě si můžete vymyslet svá vlastní jména, stejně jako obsah dokumentů, ale zatím je lepší zkopírovat moje... bude to pohodlnější pro mě i pro vás.

Máme tedy tři soubory logotype.html, menu.html a text.html.. které musíme umístit pod jednu střechu, ale střechu ještě nemáme.

Napíšeme „střechu“, hlavní dokument, ke kterému připojíme naše soubory. Protože to bude hlavní, dáme mu název index.html.



rámy





Zde je nám známá struktura dokumentu, kterou jsme žvýkali na samém začátku našeho tréninku Rámy narušují stávající stereotypy! Struktura rámce dokumentu vypadá takto:



rámy



Žádný štítek kompenzuje novou značku - nainstalujte rám nebo sadu rámů. S tímto chlapem budeme dále pracovat.

Štítek má atributy řádky A sloupce- tyto atributy říkají prohlížeči, jak umístit rámce do okna prohlížeče

řádky- vodorovně sloupce- svisle

V našem případě potřebujeme horizontální umístění rámečků... takže píšeme takto:



rámy

rows="15%,15%,70%">

Procenta za rovnítkem nejsou nic jiného než velikosti našich rámových oken v jednom velkém okně prohlížeče, máme tedy umístit tři okna - proto jsou zde také tři hodnoty oddělené čárkami. Pamatujte, jak nastavujeme velikosti buněk pro tabulku, zde platí stejný princip, jako v případě buněk tabulky, lze velikosti rámců zadat v procentech z celkové plochy a v pixelech.

Zde je několik příkladů psaní:
- tato položka označuje, že budou tři horizontální okna, z nichž poslední bude zabírat 70 % plochy okna prohlížeče a první dvě budou zabírat 15 %.
- zde jsou svisle umístěna tři okna, jejichž šířka je uvedena v pixelech.
- takové zadání znamená, že první a třetí okno bude mít šířku 100, respektive 180 pixelů a druhý snímek bude zabírat celou zbývající plochu.

S umístěním dokumentů jsme hotovi, teď už je zbývá jen spojit a užít si první výsledek..

Štítek a jeho atribut src bude prohlížeči indikovat cestu k html dokumentu, který by měl být otevřen v prostoru k tomu určeném. Máme tři samostatné dokumenty logotype.html, menu.html a text.html, nyní musíme pro každý určit cestu, což vlastně děláme. (Předpokládám, že všechny čtyři soubory jsou ve stejné složce a cesty k nim mají nejjednodušší zápis jako: )

soubor index.html


rámy







Soubor logotype.html


rámy







Soubor menu.html


rámy


Menu:

Žampionová polévka
Fazole v hrnci, italský styl
Australský letní salát
... ... ...





Soubor text.html


rámy


Žampionová polévka


hodně textu..




V tomto příkladu jsem rozložil všechny čtyři HTML dokumenty, kde index.html je hlavní, a další tři jsou stránky plug-in, z nichž každá může v principu fungovat autonomně a obsahovat cokoli chcete, obrázky, tabulky, texty, odkazy.. Udělal jsem to Abychom pochopili princip práce s rámečky. V dalších příkladech zveřejním pouze soubor hlavy s rámečky (jinak všechny zabírají příliš mnoho místa na stránce) a víte, že mám „někde venku“ všechny ostatní soubory obsahující grafiku, texty, možná něco jinak.. no, nezůstávejte za mnou, pomalu upravujte své vlastní stránky pro budoucí tréninkový web.. Nevím, o čem budete psát ty své, ale slíbil jsem, že pomůžu jedné dívce při psaní stránky věnované k vaření..)) takže jsem se rozhodl takříkajíc zamířit na dvě mouchy jednou ranou.. zajíčka a stránky..)) něco takového..))

Ve výše uvedeném příkladu jsme všechna okna umístili vodorovně a změnili jsme atribut řádky na sloupce můžete je uspořádat vertikálně. Ale co když potřebujete umístit naše okna?


takhle?: nebo takhle?: nebo dokonce takhle?:

Existuje cesta ven. Podívejme se na příklady.

Začněme prvním případem... co vidíme? A vidíme dva řádky, kde druhý je rozdělen do dvou sloupců.

A nyní v pořadí:

- rozdělte okno prohlížeče na dva řádky
- načtěte naše logo do prvního řádku
- a rozdělte druhý řádek na dva sloupce
- v první bude menu
- a ve druhém je hodně textu
- zavřete značku dělení sloupců
- zavřete značku dělení řádku

Obecně je nesprávné říkat sloupce a řádky, protože rámce nemají s tabulkami nic společného než vizuální podobnost, je správné říkat horizontální a vertikální rámce... no, říkám to tak, aby to tak bylo být ti jasnější...

Dobře, podívejme se na příklad:



rámy









Ve druhém případě máme dva sloupce, ve kterých je druhý rozdělen na dva řádky, takže budeme psát takto:

- rozdělte okno na dva sloupce
- první bude obsahovat obsah
- a druhý rozdělte na dva řádky
- logo
- a hlavní text
- uzavřete dělení čáry
- uzavřít rozdělení do sloupců



rámy









Třetí případ je trochu komplikovanější, ale neměli byste se ho bát... zvláště proto, že jsem osobně zvolil tento druh konstrukce pro web o kulinářském umění, níže vysvětlím proč. co máme? tři sloupce a druhý sloupec v podstatě obsahuje náš první případ..

- rozdělte okno na tři sloupce (všimněte si, že druhý sloupec zabírá přesně 800 pixelů a dva vnější nemají přesnou velikost a rozdělí zbývající prostor na polovinu)
-v prvním sloupci načteme html dokument, který bude plnit čistě dekorativní funkci

-
-
- Do druhého sloupce vložíme náš „první případ“
-
-
-
-

- ve třetím sloupci načteme stejný soubor s dekoracemi
- bouchnout

Podívejte se na příklad a pak vysvětlím, proč jsem zvolil cestu pěti oken



rámy













Proč tedy pět oken? Vzpomínám si, že jsem již psal o tom, že různí uživatelé internetu mají na svých monitorech různá rozlišení a podle toho na různých obrazovkách budou naše stránky vypadat jinak... a pokud nebudou žádné konkrétní velikosti, budou všechny naše výkresy, texty, tabulky , jak se říká, „plovoucí“ pro uživatele, jejichž rozlišení monitoru se liší od vašeho. Když jsme web rozložili pomocí tabulky, problém s rozměry stránky byl vyřešen přiřazením konkrétní šířky a výšky k této tabulce, bohužel to nelze provést s rámy... i když zadáte šířku rámců, které nejsou v procentech, ale v pixelech je to stále poslední sloupec, který se roztáhne přes zbývající šířku okna prohlížeče a stránka, jak se říká, ztratí svůj „obchodovatelný vzhled“. Co bychom tedy měli dělat? Musíme se uchýlit k drobným trikům... Nastavením středního sloupce (ve kterém máme vlastně celou stránku) o velikosti 800 pixelů jednou provždy určíme jeho šířku a bezrozměrný první a třetí sloupec v Kromě dekorace fungují jako jakési „pružiny“, na kterých je středový sloupek. Takže pro lidi s malým rozlišením monitoru budou tato okna/pole úzká a pro lidi s vysokým rozlišením široká, takže středový sloup nebude nijak ovlivněn a nyní do něj můžeme s naprostou jistotou umístit jakékoli předměty s přesnou referencí lokálně, bez obav o jejich budoucí osud. Porovnejte první příklad, kde jsou tři okna, a třetí, kde už jich je pět, není to lepší?

Skončíme s rozmístěním a velikostmi rámečků... a už jsme se tu dlouho zasekli... pojďme dál.

Uvádíme rámy do úhledného vzhledu.

V našem posledním příkladu vás jako první zaujme celá hromada posuvníků, které jsou tam, kde jsou potřeba a kde nejsou potřeba. Zbavme se jich, dobře, můžeme je někde nechat.. To se provádí pomocí atributu rolování- tag , může mít jednu ze tří hodnot:

  • žádný
  • Ano- vždy ukázat
  • auto



rámy


scrolling="ne">

scrolling="ne" >





scrolling="ne">


Pole rámečků, nebo jinak vzdálenost od hranic rámečku k textu nebo obrázku, jako v našem případě, se zadávají v pixelech pomocí atributů šířka okraje A výška okraještítek



rámy




marginwidth="0" marginheight="0">


marginwidth="10" marginheight="10">





Promluvme si trochu o rámci kolem našich rámů.

Pokud jste si v minulém příkladu všimli, že najetím kurzoru na okraj rámečku získá kurzor, tedy kurzor, jiný vzhled (uchopte a posuňte) a nyní lze tento okraj přetáhnout v libovolném směru při držení levé tlačítko myši. Někdy tato „mobilita“ hranic rámců hraje do karet webmasterovi, ale častěji stále překáží... Aby se uživateli zabránilo hrát si s velikostí oken pro značku přišel s atributem noresize



rámy


noresize>

noresize>

noresize>
noresize>


noresize>


To je ale atribut, který je nám povědomý už dlouho pohraniční nastavuje šířku v pixelech právě těchto snímků mezi snímky.. píše se uvnitř tagu . Význam stejný jako předtím border="0" nás zcela osvobodí od rámců.



rámy

border="0">

border="0">

border="0">







Rámečky a odkazy.

Je čas oživit naše stránky pomocí odkazů, ale tady je problém, známý obyčejný odkaz Fazole v hrnci, italský styl otevře tento dokument ve stejném rámci, kde se nachází, v našem případě přímo v rámci s obsahem a samotný obsah v okamžiku kliknutí na tento odkaz upadne v zapomnění.. můžete se podívat na neohrabaný příklad. klikněte na libovolný odkaz v něm.. Aby k tomu v budoucnu nedocházelo, je nutné prohlížeči naznačit, v jakém rámci má být dokument, který potřebujeme, otevřen, pokud jej samozřejmě opravdu nepotřebujete otevřít v stejný rám.

Pamatuji si, že jsme se již seznámili v kapitole věnované odkazům s atributy jméno- jméno a cíl- branka, používají se i při práci s rámy, mechanismus je mírně pozměněn a je téměř stejný. Nejprve je nutné, aby rám, ve kterém bychom chtěli otevřít jakékoli dokumenty, dostal individuální název.

píše se to takto:

name="osnovnoe"> jméno můžete vymyslet jakékoliv.. hlavní je nezapomenout..

Píše se to takto:

target="osnovnoe">Fazole v hrnci, italský styl

No, myslím, že vám není třeba vysvětlovat, že než se odkážete na nějaké dokumenty, musíte je vytvořit... v mém případě mají soubory (recepty) názvy text.html, text1.html, text2.html ...

Podívejte se na příklad:

soubor index.html


rámy







name="osnovnoe" marginwidth="10" marginheight="10" noresize>





Soubor menu.html


rámy


Menu:




target="osnovnoe"> Žampionová polévka

target="osnovnoe">Fazole v hrnci, italský styl

target="osnovnoe"> Australský letní salát

... ... ...





Stejně jako dříve lze dokument otevřít v samostatném okně. Připomínám, že se to píše takto:

target="_blank">Fazole v hrnci, italský styl

Nebo přiřazením atributu cíl význam _top otevřete to ve stejném okně prohlížeče, ale na celou obrazovku.. „vynulování“ všeho, co tam je.. je to napsáno takto:

target="_top">Fazole v hrnci, italský styl

Takhle dopadl web... samozřejmě je na něm ještě co dělat... navíc podle mé představy bude mít trochu jinou strukturu, co se týče navigace po webu, bude mít hromada stránek, krásné menu, ale co se týče rámové struktury, myslím, že zůstane stejná..

plovoucí rám

Někdy je nutné vložit další HTML dokument nebo dokonce sérii takových dokumentů na stránku obsahující nerámcovou strukturu v samostatném okně. K dosažení tohoto účelu existuje značka

Příklad dokumentu s plovoucím rámem:



plovoucí rám


plovoucí rám


Na tuto stránku byl zaveden tzv. "plovoucí rám".
V samostatném okně otevře další html dokument pro zobrazení.



… … …




Noframes

Některé prohlížeče nepodporují strukturu rámce dokumentu nebo ji nesprávně interpretují, uživatelé navíc často v nastavení prohlížeče záměrně zakazují podporu struktury rámce dokumentu HTML. A i když je procento takových prohlížečů a uživatelů malé, přesto existují.

Nyní si představte, že jste vytvořili svůj web pomocí rámové struktury a někteří návštěvníci, možná aniž by věděli, v čem je problém, se pokusí otevřít váš web a jejich prohlížeč zobrazí chybu! Co si budou myslet o vašem webu? Myslím něco jako: "Uf.. nějaký nesmysl.. Už sem nepřijdu!"

Aby bylo uživateli jasné, že jeho nastavení prohlížeče/prohlížeče rámce nepodporuje, je zde tag </b> .</p> <p>Štítek <b><noframes> </b> zobrazí text v něm uzavřený, pokud prohlížeč uživatele nepodporuje rámce nebo jsou v jeho nastavení násilně zakázány. Pokud jsou rámce podporovány prohlížečem uživatele, pak je tato značka jednoduše ignorována.</p> <p> <html> <br> <head> <br> <title>rámy</title> <br> </head> <br> <frameset cols="*,800,*" border="0"> <br><b><noframes>Omlouváme se, ale váš prohlížeč nepodporuje rámy.











Výsledek příkladu bude patrný, pokud váš prohlížeč opravdu nepodporuje rámy (tady jsem dlouho přemýšlel.. :) pokud je to tak, tak proč vůbec číst tuto kapitolu?) nebo jste podporu rámců vypnuli ve svém prohlížeč jako experiment.

Štítek </b> musí být umístěn uvnitř značky <b><frameset> </b></p> <p>S plovoucím rámečkem je vše ještě jednodušší, stačí mezi něj napsat požadovaný text <b><iframe> </iframe> </b> a tato zpráva se zobrazí na obrazovce, pokud prohlížeč nepodporuje rámce.</p> <p> <iframe src="primer.html" width="300" height="250" align ="left" scrolling="auto" frameborder="1"><b>Omlouváme se, ale váš prohlížeč nepodporuje rámy.</b></iframe> </p> <ul><p>Než začnete vytvářet stránku pomocí struktury rámců, analyzujte její rozvržení, velikost každého okna, přítomnost nebo nepřítomnost posuvníků v nich atd. Poté můžete vytvářet soubory HTML plug-in, aniž byste si museli dělat starosti s jejich relativním pozici vůči sobě navzájem.</p><p>Použijte značku <b><noframes> </b>. Pamatujte, že pokud ve vašem prohlížeči stránka funguje a zobrazuje se tak, jak jste zamýšleli, pro ostatní uživatele se věci mohou lišit!</p> </ul> <p>Definuje strukturu rámců na webové stránce. Rámy rozdělují okno prohlížeče na samostatné oblasti umístěné blízko sebe. Každá z těchto oblastí načte samostatnou webovou stránku definovanou pomocí prvku <frame>. Rámce se používají k rozdělení webové stránky na dva nebo více dokumentů, které obvykle obsahují navigaci a obsah webu. Mechanismus rámečku umožňuje otevřít dokument v jednom rámci z odkazu, na který jste klikli v úplně jiném rámci. Živel <frameset>(z angl <i>rámová sada</i>- sada rámů) nahrazuje <body>na webové stránce. Je přípustné použít vnořenou strukturu prvků, což umožňuje rozdělit jeden snímek na dvě nebo více oblastí.</p><p>Při používání rámů zvažte následující vlastnosti:</p><ul><li>Vyhledávače nepracují dobře s rámovými strukturami, protože stránky, které obsahují obsah, obvykle nemají odkazy na jiné dokumenty.</li><li>Rámce skrývají adresu stránky, na které se návštěvník nachází, a nastavují se prostřednictvím prvku <title>a vždy zobrazovat pouze adresu webu. Z tohoto důvodu nelze stránku, která se vám líbí, umístit do sekce „Oblíbené“ v prohlížeči.</li><li>Uživatel často skončí na webu, aniž by vůbec tušil, kde skončil, protože jen klikl na odkaz přijatý ve vyhledávači. Aby návštěvník webu snáze zjistil, kde se nachází, je na každé stránce umístěn název webu, název stránky a navigace. Rámce mají tendenci tento princip porušovat tím, že oddělují název webu od obsahu a navigaci od obsahu. Představte si, že ve vyhledávači najdete vhodný odkaz, kliknete na něj a nakonec se vám otevře dokument bez názvu a navigace. Abyste pochopili, kde jsme, nebo se podívali na jiné materiály, budete muset upravit cestu v adresním řádku, což je v každém případě nepohodlné.</li><li>Velký počet snímků vyžaduje, aby prohlížeč přidělil více paměti než obvykle.</li> </ul><p>Tato položka je zastaralá, nepoužívejte ji.</p><h2>Syntax</h2><p><frameset> <frame> </frameset></p><h2>Uzavírací štítek</h2><p>Požadovaný.</p><h2>Příklad</h2><p><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>FRAMESET</title> </head> <frameset rows="80,*" cols="*"> <frame src="page/top.html" name="topFrame" scrolling="no" noresize> <frameset cols="80,*"> <frame src="page/left.html" name="leftFrame" scrolling="no" noresize> <frame src="page/main.html" name="mainFrame"> </frameset> </frameset> </html> </p><p>Některé příklady organizace rámců jsou uvedeny níže.</p><table><tr><td style="width: 49%; padding-right: 5px"><table style="width:100%" class="data"><tr><td style="background:#f0f0f0">Rám 1</td><td style="background:#FFCC99">Rám 2</td> </tr><tr><td style="background:#f0f0f0">Rám 3</td><td style="background:#FFCC99">Rám 4</td> </tr><tr><td style="background:#f0f0f0">Rám 5</td><td style="background:#FFCC99">Rám 6</td> </tr></table></td><td style="width: 49%; padding-left: 5px; vertical-align: top"><table style="width:100%" class="data"><tr><td rowspan="2" style="width:28%; background:#f0f0f0">Rám 1</td><td style="width:72%; background:#FFCC99">Rám 2</td> </tr><tr><td>Rám 3</td> </tr></table></td> </tr><tr><td> <frameset rows="33%,33%,*" cols="50%, 50%"> <frame src="r1c1.html" name="Фрейм 1"> <frame src="r1c2.html" name="Фрейм 2"> <frame src="r2c1.html" name="Фрейм 3"> <frame src="r2c2.html" name="Фрейм 4"> <frame src="r3c1.html" name="Фрейм 5"> <frame src="r3c2.html" name="Фрейм 6"> </frameset> </td><td style="vertical-align: top"> <frameset rows="*" cols="80,*"> <frame src="frame1.html" name="Фрейм 1"> <frameset rows="80,*"> <frame src="frame2.html" name="Фрейм 2"> <frame src="frame3.html" name="Фрейм 3"> </frameset> </frameset> </td> </tr></table><h2>Specifikace</h2><p>Každá specifikace prochází několika fázemi schvalování.</p><ul><li>Doporučení – Specifikace byla schválena W3C a je doporučena jako standard.</li><li>Doporučení kandidáta ( <span>Možné doporučení</span>) - skupina odpovědná za standard je spokojena, že splňuje své cíle, ale vyžaduje pomoc od vývojářské komunity při implementaci standardu.</li><li>Navrhované doporučení <span>Doporučené doporučení</span>) - v této fázi je dokument předložen poradní radě W3C ke konečnému schválení.</li><li>Working Draft – Vyspělejší verze návrhu, která byla prodiskutována a upravena pro komunitní recenzi.</li><li>Předloha editora ( <span>Redakční návrh</span>) - návrhová verze normy po změnách, které provedli redaktoři projektu.</li><li>Koncept ( <span>Návrh specifikace</span>) - první verze návrhu normy.</li> </ul><p>Živý standard HTML (Living) vyniká - nedodržuje tradiční číslování verzí, protože se neustále vyvíjí a je pravidelně aktualizován.</p> <p>Štítek <b>sada rámů</b> definuje strukturu rámců na webové stránce. Rámy rozdělují okno prohlížeče na samostatné oblasti umístěné blízko sebe. Každá z těchto oblastí načte samostatnou webovou stránku definovanou pomocí značky FRAME. Rámce se používají k rozdělení webové stránky na dva nebo více dokumentů, které obvykle obsahují navigaci a obsah webu. Mechanismus rámečku umožňuje otevřít dokument v jednom rámci z odkazu, na který jste klikli v úplně jiném rámci. Značka FRAMESET nahrazuje prvek BODY na webové stránce. <br>Je přípustné používat vnořenou strukturu prvků, což umožňuje rozdělit jeden snímek na dvě nebo více oblastí.</p> <p>Při používání rámů zvažte následující vlastnosti:</p> <ul><li>Vyhledávače nepracují dobře s rámovými strukturami, protože stránky, které obsahují obsah, obvykle nemají odkazy na jiné dokumenty.</li> <li>Rámce skrývají adresu stránky, na které se návštěvník nachází a nastavují pomocí tagu TITLE a zobrazují vždy pouze adresu webu. Z tohoto důvodu nelze stránku, která se vám líbí, umístit do sekce „Oblíbené“ v prohlížeči.</li> <li>Uživatel často skončí na webu, aniž by vůbec tušil, kde skončil, protože jen klikl na odkaz přijatý ve vyhledávači. Aby návštěvník webu snáze zjistil, kde se nachází, je na každé stránce umístěn název webu, název stránky a navigace. Rámce mají tendenci tento princip porušovat tím, že oddělují název webu od obsahu a navigaci od obsahu. Představte si, že ve vyhledávači najdete vhodný odkaz, kliknete na něj a nakonec se vám otevře dokument bez názvu a navigace. Abyste pochopili, kde jsme, nebo se podívali na jiné materiály, budete muset upravit cestu v adresním řádku, což je v každém případě nepohodlné.</li> <li>Velký počet snímků vyžaduje, aby prohlížeč přidělil více paměti než obvykle.</li> </ul><p><b>Syntax</b><br><frameset><br> <frame><br></frameset></p> <p><b>Uzavírací štítek</b><br>Požadovaný.</p> <p><b>Možnosti</b><br>border - tloušťka hranice mezi rámečky. <br>bordercolor - barva hraniční čáry. <br>cols – Nastavuje šířku nebo proporce rámečků sloupců. <br>frameborder - zobrazí rámeček kolem rámečku nebo ne. <br>framespacing - analogicky k parametru border nastavuje šířku okraje. <br>řádky – nastaví velikost nebo proporce rámečků jako řádků.</p> <p>Příklad 1: Použití tagu FRAMESET</p> <blockquote> <p><html><br><frameset rows="80,*" cols="*" frameborder=NO border=0 framespacing=0><br> <frame src=top.html name=topFrame scrolling=no noresize><br> <frameset cols="80,*" frameborder=no border=0 framespacing=0><br> <frame src=left.html name=leftFrame scrolling=no noresize><br> <frame src=main.html name=mainFrame><br> </frameset><br></frameset><br></html></p> </blockquote> <p>Některé příklady organizace rámců jsou uvedeny níže.</p> <table style="border-collapse: collapse; width: 75%;" border="0" cellspacing="0" cellpadding="4" align="center"><tbody><tr><td width="50%"> <table style="width: 100%;" border="1" cellspacing="0" cellpadding="4" bordercolor="#333333"><tbody><tr align="middle"><td bgcolor="#f0f0f0">Rám 1</td> <td bgcolor="#ffcc99">Rám 2</td> </tr><tr align="middle"><td bgcolor="#f0f0f0">Rám 3</td> <td bgcolor="#ffcc99">Rám 4</td> </tr><tr align="middle"><td bgcolor="#f0f0f0">Rám 5</td> <td bgcolor="#ffcc99">Rám 6</td> </tr></tbody></table></td> <td> <table style="width: 100%;" border="1" cellspacing="0" cellpadding="4" bordercolor="#333333"><tbody><tr align="middle"><td rowspan="2" width="28%" bgcolor="#f0f0f0">Rám 1</td> <td width="72%" bgcolor="#ffcc99">Rám 2</td> </tr><tr><td height="55" align="middle">Rám 3</td> </tr></tbody></table></td> </tr><tr valign="top"><td><frameset rows="33%,33%,*" cols="50%, 50%"><br><frame src=r1c1.html name="Фрейм 1"><br><frame src=r1c2.html name="Фрейм 2"><br><frame src=r2c1.html name="Фрейм 3"><br><frame src=r2c2.html name="Фрейм 4"><br><frame src=r3c1.html name="Фрейм 5"><br><frame src=r3c2.html name="Фрейм 6"><br></frameset><br></td> <td><frameset rows="*" cols="80,*"><br><frame src=frame1.html name="Фрейм 1"><br><frameset rows="80,*"><br><frame src=frame2.html name="Фрейм 2"><br><frame src=frame3.html name="Фрейм 3"><br></frameset><br></frameset> </td> </tr></tbody></table><h3>Popis parametrů tagu FRAMESET</h3> <h4>parametr BORDER</h4> <p><b>Popis</b><br>Nastaví tloušťku okraje mezi rámečky. Ve výchozím nastavení je čára zobrazena trojrozměrně pomocí parametrů bordercolor a border, její vzhled si můžete přizpůsobit podle svého uvážení. Prohlížeče interpretují parametry tagu FRAMESET a zobrazují řádek jinak. Například pro černou čáru o tloušťce 5 pixelů.</p> <p>Jak můžete vidět z obrázku, Opera vůbec nemění barvu čáry, ale správně zobrazuje požadovanou hodnotu. Prohlížeč Internet Explorer bere střední část čáry vyplněnou černou jako tloušťku, zatímco Netscape bere celou šířku nebo výšku, včetně malých čar po stranách, což vytváří zvýšený efekt.</p> <p>Pokud má tag FRAMESET framespacing=0 , pak prohlížeč Opera vůbec nezobrazí ohraničení a Internet Exporer ignoruje hodnoty atributů bordercolor a border.</p> <p><b>Syntax</b><br><frameset border=значение>...</frameset></p> <p><b>Argumenty</b><br>Kladné celé číslo. Hodnota 0 skryje rámec.</p> <p><b>Výchozí hodnota</b><br>Záleží na prohlížeči a operačním systému.</p> <p><b>Podobné jako CSS</b><br>pohraniční</p> <p>Příklad 2: Změna tloušťky okraje</p> <blockquote> <p><html><br><frameset rows="*" cols="80,*" bordercolor=black border=5 ><br><frame src=left.html name=leftFrame><br><frameset rows="80,*"><br><frame src=top.html name=topFrame><br><frame src=main.html name=mainFrame><br></frameset><br></frameset><br></html></p> </blockquote> <h4>Parametr BORDERCOLOR</h4> <p><b>Popis</b><br>Definuje barvu viditelných hranic mezi rámečky. Barvu nadřazeného prvku FRAMESET lze změnit pomocí podřízeného tagu FRAMESET nebo jednotlivého prvku FRAME. Prohlížeč Opera tento parametr obecně ignoruje.</p> <p><b>Syntax</b><br><frameset bordercolor=цвет>...</frameset></p> <p><b>Argumenty</b><br>Hodnotu barvy lze nastavit dvěma způsoby.</p> <p>1. Podle jména <br>Prohlížeče podporují některé barvy podle jejich názvu.</p> <p>2. Podle hexadecimální hodnoty <br>K určení barev se používají hexadecimální čísla. Šestnáctková soustava je na rozdíl od desítkové soustavy založena, jak její název napovídá, na čísle 16. Čísla budou následující: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A , B, C , D, E, F. Čísla od 10 do 15 jsou nahrazena latinkou. Čísla větší než 15 v šestnáctkové soustavě se tvoří spojením dvou čísel do jednoho. Například číslo 255 v desítkové soustavě odpovídá číslu FF v šestnáctkové soustavě. Aby se předešlo zmatkům při určování číselné soustavy, před hexadecimální číslo se umístí symbol hash #, například #666999. Každá ze tří barev – červená, zelená a modrá – může nabývat hodnot od 00 do FF. Barevný symbol je tedy rozdělen na tři složky #rrggbb, kde první dva symboly označují červenou složku barvy, prostřední dva - zelenou a poslední dva - modrou.</p> <p><b>Výchozí hodnota</b><br>Závisí na nastavení prohlížeče a operačního systému.</p> <p><b>Podobné jako CSS</b><br>pohraniční</p> <p>Příklad 3: Změna barvy ohraničení</p> <blockquote> <p><html><br><frameset rows="*" cols="80,*" bordercolor=black border=5><br><frame src=left.html name=leftFrame><br><frameset rows="80,*" bordercolor=red border=5><br><frame src=top.html name=topFrame><br><frame src=main.html name=mainFrame><br></frameset><br></frameset><br></html></p> </blockquote> <h4>Parametr COLS</h4> <p><b>Popis</b><br>Určuje velikosti nebo proporce sloupců rámců ve struktuře FRAMESET. Pokud je vytvořeno více sloupců, musí být parametr cols nastaven na konkrétní hodnotu. K tomu existují tři možnosti:</p> <ol><li>velikost v pixelech;</li> </ol><p>Chcete-li nastavit velikost rámce na danou šířku, použijte hodnotu v pixelech. To je užitečné zejména pro zobrazení obsahu dané velikosti, například obrázku. Pro proporcionální rozdělení snímků je vhodné použít procenta v tomto případě, bez ohledu na velikost okna prohlížeče, budou zachovány proporce, hlavní je, že celková šířka sloupců je rovna 100%. Pokud se hodnoty nesčítají do 100 %, prohlížeč zobrazí rámečky, ale šířka nebude nastavena přesně. Nakonec, pokud je požadováno přidělení zbývajícího prostoru snímku, použije se symbol hvězdičky. V tomto případě prohlížeč vypočítá šířku rámce, když jsou již nastaveny velikosti ostatních rámců. Jednotlivé typy hodnot je možné míchat tak, že je uvedete oddělené čárkami. Poté úkol vypočítat požadovanou šířku připadne prohlížeči.</p> <p><b>Syntax</b><br><frameset cols="ширина 1, ширина 2, ...">...</frameset></p> <p><b>Argumenty</b><br></p> <p><b>Výchozí hodnota</b><br>100%</p> <p>Příklad 4: Šířka rámu</p> <blockquote> <p><html><br><frameset cols="100,*,20%" ><br><frame src=left.html name=leftFrame><br><frame src=main.html name=mainFrame><br><frame src=right.html name=rightFrame><br></frameset><br></html></p> </blockquote> <h4>Parametr FRAMEBORDER</h4> <p><b>Popis</b><br>Určuje, zda se má zobrazit hranice mezi snímky nebo ne. Prohlížeč Opera stejně zobrazuje tenkou čáru, pokud není použit framespacing=0.</p> <p><b>Syntax</b><br><frameset frameborder=yes | no>...</frameset><br><frameset frameborder=1 | 0>...</frameset></p> <p><b>Argumenty</b><br>Můžete použít ano nebo 1 pro zobrazení ohraničení a ne nebo 0 pro jeho skrytí.</p> <p><b>Výchozí hodnota</b><br>Ve výchozím nastavení je tato možnost povolena.</p> <p>Příklad 5: Skrytí hranice mezi snímky</p> <blockquote> <p><html><br><frameset cols="100,*,20%" frameborder=no ><br><frame src=left.html name=leftFrame><br><frame src=main.html name=mainFrame><br><frame src=right.html name=rightFrame><br></frameset><br></html></p> </blockquote> <h4>Parametr FRAMESPACING</h4> <p><b>Popis</b><br>Parametr framespacing je analogický s parametrem frameborder a je určen k nastavení velikosti hranice mezi snímky. Důvodem, proč existují dva různé atributy s podobnými vlastnostmi, je to, že framespacing je starší nastavení a je podporováno prohlížeči z důvodu kompatibility s jejich dřívějšími verzemi.</p> <p><b>Syntax</b><br><frameset framespacing=значение>...</frameset></p> <p><b>Argumenty</b><br>Kladné celé číslo. S framespacing=0 prohlížeč Opera zcela skryje hranice mezi snímky a Internet Explorer nastaví jejich parametry na výchozí. Tento atribut prohlížeč Netscape zcela ignoruje.</p> <p><b>Výchozí hodnota</b><br>2</p> <p>Příklad 6. Skrytí hranice mezi snímky</p> <blockquote> <p><html><br><frameset cols="150,*" framespacing=0 frameborder=0><br><frame src=left.html name=leftFrame><br><frame src=main.html name=mainFrame><br></frameset><br></html></p> </blockquote> <h4>Parametr ROWS</h4> <p><b>Popis</b><br>Určuje výšku nebo poměr stran snímků ve struktuře FRAMESET jako řádků. Pokud je vytvořeno více řádků, musí být parametr rows nastaven na konkrétní hodnotu. K tomu existují tři možnosti:</p> <ol><li>velikost v pixelech;</li> <li>velikost jako procento dostupné šířky rámu;</li> <li>Symbol hvězdičky (*) představuje veškerou volnou šířku zbývající po zadání rozměrů v pixelech nebo procentech.</li> </ol><p>Výhodou použití parametru rows ve spojení s hodnotou * je, že rámec lze definovat ve spodní části okna prohlížeče. Když potřebujete vytvořit jednotnou mřížku snímků, použijte parametry rows a cols v tagu FRAMESET. Pro složitější strukturu je třeba vnořit jeden tag FRAMESET do druhého.</p> <p><b>Syntax</b><br><frameset rows="высота 1, высота 2, ...">...</frameset></p> <p><b>Argumenty</b><br>Uvedené hodnoty, oddělené čárkami, jako pixely (px nebo jiné označení nejsou povinné), procenta nebo symbol *.</p> <p><b>Výchozí hodnota</b><br>100%</p> <p>Příklad 7: Výška rámu</p> <blockquote> <p><html><br><frameset rows="*,100" ><br><frame src=top.html name=topFrame><br><frame src=main.html name=mainFrame><br></frameset><br></html</p> </blockquote> <p>Rámce jsou prvky HTML, které umožňují rozdělit okno webového prohlížeče na několik nezávislých oken, z nichž každé může načíst samostatný dokument HTML. Každé takové okno (rám) může mít své posuvníky a fungovat nezávisle na ostatních nezávislých oknech nebo naopak ovládat jejich obsah. Lze je použít k uspořádání nabídky, která je neustále umístěna v jednom okně, zatímco informace samotné jsou umístěny v jiném okně. Uživatelé mohou k nabídce přistupovat kdykoli a nemusí se vracet na předchozí stránku, aby vybrali jinou položku nabídky. Použití rámců vám umožňuje „připnout“ obrázky nebo jiné prvky statického rozhraní do okna prohlížeče, zatímco se zbytek stránky posouvá v rámci. <br>Je však třeba poznamenat, že rámce jsou dnes považovány za zastaralý nástroj a stránky s rámečky jsou nyní považovány za nedůstojné, protože profesionální webmasteři rámce ve svých projektech nikdy nepoužívají. Rámy mají řadu notoricky známých problémů. Matou vyhledávače například proto, že stránky obsahující obsah neodkazují na jiné dokumenty. Pokud chcete získat návštěvníky z vyhledávačů, zapomeňte na rámečky. Uživatel nemůže umístit stránku, která se mu líbí, do sekce záložek prohlížeče, protože rámce skrývají adresu stránky, na které se nachází, a vždy zobrazují pouze adresu webu. Z tohoto důvodu způsobují prohlížečům problémy při sledování historie a také nejsou příliš přizpůsobivé různým velikostem obrazovky a mobilním zařízením. <br>Navzdory skutečnosti, že projekty s rámečky jsou na World Wide Web stále vzácnější, učení HTML by bylo neúplné, pokud by se téma rámců nezabývalo. Rámy spolu se svými nevýhodami mají také některé výhody, které nám nedovolují tuto technologii zavrhnout jako neperspektivní.</p> <h2>Vytváření rámců</h2> <p>Struktura dokumentu HTML s rámečky je vzhledově velmi podobná formátu běžného dokumentu HTML. Stejně jako v běžném HTML dokumentu je veškerý kód umístěn mezi párové značky <b><html> </b> A <b></html> </b> a v kontejneru <b><head> </b> jsou umístěny hlavičky. Hlavní rozdíl mezi dokumentem s rámečky a běžným HTML dokumentem je ten, že dokument s rámečky místo tagu <b><body> </b> je použita spárovaná značka <b><frameset> </b>(z anglického frame set - sada rámů). <br>Následující příklad ukazuje strukturu HTML dokumentu s rámečky:</p> <h3>Příklad: Struktura dokumentu HTML s rámečky</h3> <ul><li>Zkuste to sami »</li> </ul><table style="border-collapse:collapse;"><tr><td style="border-bottom: 4px solid silver;background-color:blue;color: white;" colspan="2">frame_top</td> </tr><tr><td style="border-right: 4px solid silver;width: 20%;background-color:green;color: white;">frame_left</td> <td style="width: 80%;background-color:lime;color: white;">frame_right</td> </tr></table><p> <!DOCTYPE html> <html><br><head><br><meta charset="UTF-8"> <title>Dokument s rámečky</title> </head> <frameset rows="100, *"> <frame src="frame_top.html"> <frameset cols="20%, 80%"> <frame src="frame_left.html"> <frame src="frame_right.html"> </frameset> <noframes>

Ve výše uvedeném příkladu stránka obsahuje tři oblasti, z nichž každá je zpočátku načtena s dokumenty HTML frame_top.html, frame_left.html a frame_right.html. Kromě dokumentů HTML může rám obsahovat také grafiku. Chcete-li to provést, musíte v atributu zadat adresu odpovídajícího obrázku src, Například src="obrazek.gif". Vezměte prosím na vědomí, že prvek používá se bez uzavírací značky.
Uvnitř nádoby může obsahovat pouze značky nebo jinou sadu rámečků pokrytých štítky A .
Štítek má následující atributy:

  • řádky— popisuje, jak rozdělit stránku na řádky:
  • sloupce— popisuje, jak je stránka rozdělena do sloupců:
Oblasti vyplývající z tohoto rozdělení stránky budou rámy. Absence těchto atributů definuje jeden rámec, který zabere celé okno prohlížeče.

V hodnotě atributu řádky A sloupce Je nutné uvést nikoli počet řádků nebo sloupců, ale šířku a výšku rámečků. Všechny hodnoty v seznamu jsou odděleny čárkami. Rozměry lze zadat v absolutních jednotkách (pixelech) nebo procentech:

  • cols="20%, 80%"— okno prohlížeče je pomocí atributu rozděleno do dvou sloupců sloupce, levý sloupec zabírá 20 % a pravý 80 % okna prohlížeče.
  • rows="100, *" Okno prohlížeče je pomocí atributu rozděleno na dvě horizontální okna řádky, horní okno zabírá 100 pixelů a spodní okno zabírá zbývající prostor určený symbolem hvězdičky.

Jak je vidět z tohoto příkladu, kontejner s atributem řádky nejprve vytvoří dva vodorovné snímky a nahradí druhý snímek jiným který pomocí atributu rozdělí spodní vodorovný rámeček na dva sloupce sloupce, levý sloupec zabírá 20 % a pravý 80 % okna prohlížeče.
Pokud prohlížeč nepodporuje rámce, v okně se zobrazí text umístěný mezi značkami </b> A <b> . Vše mezi značkami </b> A <b> , je ignorován prohlížeči, které podporují rámce. Vývojář tedy potřebuje napsat kód, který duplikuje obsah rámců jinými prostředky, a umístit tento kód do kontejneru </b>, pak všichni uživatelé uvidí jeho webovou stránku. <br>Jak již bylo uvedeno, nepárová značka se používá k vložení samostatného rámce do dokumentu <b><frame> </b>. Atribut <b>src</b> určuje dokument, který by měl být zobrazen uvnitř tohoto rámce, například: <frame src="frame_top.html">. Pokud atribut <b>src</b> chybí, zobrazí se prázdný rámeček.</p> <h2>Ohraničení nebo mezera mezi snímky</h2> <p>Ve výchozím nastavení prohlížeč zobrazuje mezi rámečky šedý, obvykle 3D čárový okraj, pomocí kterého mohou návštěvníci upravit velikost rámečku. <br>S okrajem rámu lze manipulovat jako s jakýmkoli jiným prvkem rámu. K tomu slouží několik atributů prvků <b><frameset> </b>, což vám umožní přizpůsobit okraje rámečků. Tloušťka hraniční čáry je určena atributem <b>pohraniční</b>. Výchozí hodnota tloušťky okraje je pět. <br>Chcete-li skrýt ohraničení rámečku, musíte buď nastavit hodnotu šířky ohraničení na nulu, nebo nastavit hodnotu „no“ nebo „0“ atributu <b>rámová hranice</b>. Atribut <b>rámová hranice</b> může mít pouze dva protichůdné významy. Pokud je hodnota atributu <b>rámová hranice</b> se rovná „ano“ nebo „1“, zobrazí se rámeček rámečku, a pokud „0“ nebo „ne“, pak ne. Vezměte prosím na vědomí, že hodnoty atributů <b>rámová hranice</b> se liší pro různé prohlížeče. K vyřešení tohoto problému použijte atribut dvakrát <b>rámová hranice</b> a u některých prohlížečů je také nutné přidat atribut <b>framespace</b> s hodnotou "0":</p><p> <frameset frameborder="0" framespacing="0" frameborder="no" border="0"> </p><p>V následujícím příkladu odstraníme hranici mezi snímky:</p> <h3>Příklad: Odstranění ohraničení mezi snímky</h3> <ul><li>Zkuste to sami »</li> </ul><table><tr><td style="width: 10px;background-color:green;color: white;">frame_left</td> <td style="width: 90%;background-color:lime;color: white;">frame_right</td> </tr></table><p> <!DOCTYPE html> <html><br><head><br><meta charset="UTF-8"> <title>Rámy bez okrajů</title> </head> <frameset cols="100,*" frameborder="0" framespacing="0" frameborder="no" border="0"> <frame src="frame_left.html" name=" frame_left" > <frame src="frame_right.html" name="frame_right" > </frameset> </html></p> <p>Pokud odstraníte ohraničení mezi rámečky, návštěvníci nebudou moci změnit velikost rámce v prohlížeči. Můžete také zabránit změně velikosti rámečku zachováním okrajů pomocí atributu <b>noresize</b>:</p><p> <frame src="frame_left.html" noresize> </p><p>Použití atributu <b>bordercolor</b> Barvu okraje rámečku můžete změnit, stačí zadat kód nebo odpovídající vyhrazený název barvy. <br>Níže je uveden příklad stránky HTML, která obsahuje výše popsané ovládací atributy rámečku: barva rámečku je červená, velikost horního rámečku nelze změnit:</p> <h3>Příklad: Frame Border Control</h3> <ul><li>Zkuste to sami »</li> </ul><table style="border-collapse:collapse;"><tr><td style="border-bottom: 4px solid red;background-color:blue;color: white;" colspan="2">frame_top</td> </tr><tr><td style="border-right: 4px solid red;width: 20%;background-color:green;color: white;">frame_left</td> <td style="width: 80%;background-color:lime;color: white;">frame_right</td> </tr></table><p> <!DOCTYPE html> <html><br><head><br><meta charset="UTF-8"> <title>Správa hranic rámců</title> </head> <frameset rows="150, *" border="10" bordercolor="red" frameborder="1" frameborder="yes"> <frame src="frame_top.html" noresize> <frameset cols="20%, 80%"> <frame src="frame_left.html"> <frame src="frame_right.html"> </frameset> </frameset> </html></p> <p>Pokud chcete stránku zobrazenou uvnitř rámečku umístit blíže k jejím okrajům, nebo ji naopak posunout dále, změňte atributy <b>výška okraje</b> A <b>šířka okraje</b>štítek <b><frame> </b>. Atribut <b>výška okraje</b> definuje odsazení mezi obsahem rámečku a jeho horním a spodním okrajem. Syntax:</p><p> <frame marginheight="число"> </p><p>Atribut <b>šířka okraje</b> definuje odsazení mezi obsahem rámečku a jeho pravým a levým okrajem. Syntax:</p><p> <frame marginwidth="число"> </p><p>Tento řádek html například umístí zobrazenou stránku blízko okraje rámce:</p> <p>Pokud stránka zobrazuje posuvník, který nechcete, můžete problém vyřešit zadáním atributu <b>rolování</b>="ne" ve značce <b><frame> </b>. Mějte ale na paměti, že pokud rámeček není dostatečně velký na to, aby zobrazil celý obsah stránky, pak návštěvník nebude mít žádnou možnost posouvat zobrazenou stránku.</p> <h2>Odkazy uvnitř rámečků</h2> <p>Sledování odkazu v běžném HTML dokumentu se provádí následovně: klikněte na odkaz a aktuální dokument je nahrazen novým v aktuálním nebo v novém okně prohlížeče. Při použití rámců se schéma načítání dokumentů HTML liší od běžného a hlavním rozdílem je možnost načíst dokument HTML do jednoho rámce z jiného rámce. <br>Chcete-li načíst dokument do určitého rámce, použijte atribut <b>cíl</b>štítek <b><a> </b>. Jako hodnota atributu <b>cíl</b> je použit název rámce, do kterého bude načten dokument určený atributem <b>jméno</b>štítek <b><frame> </b>. Za zmínku také stojí, že název rámce musí začínat buď číslicí, nebo latinským písmenem. Následující jména se používají jako vyhrazená jména:</p> <p>U externích odkazů byste měli nastavit atribut target buď na _top nebo _blank, abyste zajistili, že se projekty třetích stran nezobrazí ve vašich rámcích, ale vyplní celé okno prohlížeče.</p> <p>Následující příklad ukazuje dokument HTML, ve kterém pravý rámec načte stránku z odkazu umístěného v horním rámci. Odkaz na dokument, který se otevře v pravém rámu:</p><p> <a href="http://www.google.com" target="frame_right">Google</a> </p><p>Pravý rám je pojmenován <i>frame_right</i>:</p><p> <frame src="frame_right.html" name="frame_right"> </p><p>Chcete-li načíst dokument do určeného rámce, použijte konstrukci <i>target="frame_right"</i>, jak ukazuje příklad:</p> <h3>Příklad: Odkaz na jiný snímek</h3> <ul><li>Zkuste to sami »</li> </ul><p> <!DOCTYPE html> <html><br><head><br><meta charset="UTF-8"> <title>Odkaz na jiný rámeček</title> </head> <frameset rows="100, *"> <frame src="frame_topic.html"> <frameset cols="20%, 80%"> <frame src="frame_left.html"> <frame src="frame_right.html" name="frame_right"> </frameset> <noframes> <p>Váš prohlížeč nezobrazuje rámce</p>

Plovoucí rámy

Živel

Určitě jste nejednou slyšeli o takovém konceptu, jako jsou rámy. Můžete si o nich přečíst v jakékoli html učebnici a také ve zdrojích o tvorbě webových stránek. Po prostudování mnoha příkladů a popisů jsem se rozhodl říci vše o rámech vlastními slovy ve velmi jednoduché formě. Klady, zápory a budoucnost rámů budou diskutovány úplně dole na této stránce. Takže, co jsou rámce v html?

Co jsou rámce v html

Rám(anglický rámeček) - nějaká připojitelná nezávislá oblast na webové stránce.

Nebojte se, že to zní trochu zmateně. Okamžitě uveďme nejjednodušší příklad a pak bude vše jasné.

Otevřete nápovědu v libovolném programu (může to být poznámkový blok, nějaký program, prohlížeč atd.). Téměř vždy uvidíte nápovědu skládající se ze dvou částí (navigace vlevo, obsah vpravo). Levá a pravá část jsou pouze samostatné rámečky. Níže je snímek obrazovky převzatý z nápovědy nejběžnějšího poznámkového bloku Windows:

Obr 1. Použití rámečků s nápovědou k poznámkovému bloku jako příklad

To, co vidíte, je webová stránka sestávající ze dvou samostatných nezávislých rámců. Zde je příklad html kódu pro takový rámec z nápovědy.

Příklad s rámečky č. 1 (provádí nápovědu)

Ve výše uvedeném rámci bude výše diskutovaná nápověda vypadat takto:


Obr. 2. Rámec pro použití rámců například č. 1

Rozdělení stránky na oblasti pomocí rámců je velmi podobné rozložení tabulky HTML (viz značka HTML tabulky). Příklad kódu pro takovou stránku může vypadat takto:

<span>Příklad č. 1 html stránky s rámečky</span>
Vysvětlení například č. 1

Jak můžete vidět z výše uvedeného kódu, stránka vytvořená z rámců je velmi podobná běžné html stránce: je zde úvodní html značka, sekce , titul , ale je tu jeden velký rozdíl. Pravděpodobně jste si všimli, že chybí značka body, která je zodpovědná za tělo stránky. Místo toho se vloží značka <frameset>, který je zodpovědný za tělo stránky. Tato značka má dva atributy cols="25%,75%" , což znamená rozdělení celého těla stránky na dvě vertikální oblasti v poměru 1:3. První oblast bude zabírat 25% šířky celé obrazovky (bude obsahovat první rámeček menu.html), druhá oblast zabere 75% šířky celé obrazovky (bude obsahovat druhý obsah. html rámec).</p> <p>Poslední zcela volitelný tag je <noframes>. Je potřeba pro prohlížeče, které nepodporují rámce. Pokud prohlížeč nepodporuje rámce, doporučujeme o tom uživatele zdvořile informovat prostřednictvím této značky.</p> <p>Mimochodem, vezměte na vědomí, že pro značku <frame>není potřeba uzavírací značka.</p> <p>Doufám, že nyní máte představu o rámech. Pro pochopení složitějších příkladů si zkusme vytvořit jednoduchou html stránku sestávající ze 4 rámců. Toto bude příklad č. 2.</p> <h2>Příklad se 4 snímky #2</h2> <p>Framework například 2:</p> <p><img src='https://i1.wp.com/zarabotat-na-sajte.ru/uroki-html/img/primer2-frame-karkas.jpg' width="100%" loading=lazy loading=lazy><br>Obr. 3. Rámec pro použití rámců například č. 2</p> <p>Kód původní HTML stránky s rámcem bude následující:</p> <blockquote><html > <head > <title ><span>Příklad č. 2 html stránky s rámečky</span> <span>Váš prohlížeč nepodporuje zobrazování rámců</span>

Kód souboru Top.html

<span>Soubor top.html – záhlaví webu</span>

Příklad č. 2

A tady by mohlo být logo a další :)

Kód souboru Menu.html

<span>Soubor menu.html - nabídka webu</span>

Kód souboru Content.html

<span>Soubor content.html – obsah webu</span>

Domovská stránka

Obsah webu. Soubor content.html je nyní otevřen
Toto je počáteční stav našeho rámu. Nazvěme tento soubor "hlavní stránka"

Kód souboru about-site.html

<span>Soubor about-site.html – Stránka o webu</span>

O webu

Stránka o webu. Soubor about-site.html je nyní otevřen

Kód souboru about-autor.html

<span>Soubor about-autor.html - o autorovi</span>

O autorovi

O stránce autora. Soubor about-autor.html je nyní otevřený

Kód souboru zápatí.html

<span>Soubor footer.html – o webu</span> Zápatí webu. Soubor footer.html je nyní otevřen
Vysvětlení například č. 2

Zpočátku je celá stránka rozdělena do tří oblastí horizontálně v poměru 3:14:3. Je za to zodpovědný atribut rows="15%,70%,15%". Prvním snímkem v našem příkladu je záhlaví (nazvali jsme ho top.html), je mu přiděleno 15 % výškového prostoru. Následuje velký rám zabírající 70 % výšky. Rozdělili jsme ho na dvě části pomocí cols="25%,75%" v poměru 1:3. Vlevo bude rámeček menu.html , vpravo content.html . Druhý rámec jsme konkrétně pojmenovali name="main", abychom mohli přepínat stránky. Všimněte si, že v souboru menu.html má každý odkaz připojený atribut target="main", který umožňuje načtení položek do oblasti zvané main po kliknutí na odkaz. V dolní části webu je poslední snímek footer.html.

Pokud implementujete příklad č. 2, měli byste získat následující HTML stránku v původním stavu:


Obr 4. Příklad č. 2 - výchozí stav

Když přejdete na stránku o webu, stránka bude vypadat takto:


Obr 5. Příklad č. 2 - druhý stav


Obr 6. Příklad č. 2 - třetí stav

Štítek

Nepovinné atributy této značky jsou width="width" a height="height" a povinný atribut je src="adresa rámce" .

Atributy a vlastnosti značek

1. COLS atribut = "Parametry"
Nastavuje počet vertikálních rozdělení stránky.

2. Atribut ROWS="Parametry".
Nastavuje počet vodorovných rozdělení stránky.

Nyní se podívejme, jak můžete nastavit parametry rozdělení.

a) Pomocí čísla, které bude odpovídat počtu pixelů. Například cols = "100,100,300" nastaví stránku tak, aby byla rozdělena do tří oblastí, z nichž každá bude mít šířku: 100 pixelů, 100 pixelů a 300 pixelů.

b) Pomocí procent z celkové šířky/výšky. Ve výše diskutovaných příkladech jsme použili procentuální dělení, takže se zdá zbytečné uvádět příklad.

c) Pomocí * (hvězdička). Například cols = "2*,3*,100" nastaví první dvě oblasti na poměr 2:3 a třetí oblast na šířku 100 pixelů.

Všechny tři způsoby lze kombinovat. Například cols="2*,100,15%,4*" .

3. Atribut Frameborder="(ano|ne)".
Určuje, zda má rámeček ohraničení. Pokud je odpověď ano, platí další čtvrtý atribut ohraničení.

4. Atribut border="parameter"
Hranice v pixelech určuje tloušťku ohraničení oblasti snímku. Například frameborder = "2" určuje oblast s vybraným obrysem 2 pixelů.

5. atribut bordercolor="color".
Určuje barvu ohraničení, pokud existuje. Barvu lze zadat buď slovy, nebo kódem (viz html paleta barev).

Poznámka: Vezměte prosím na vědomí, že značka potřebují uzavírací značku .

Atributy a vlastnosti značek

1. Atribut src="adresa prvku"
Zde musí být jako parametr uvedena úplná adresa URL adresy prvku. Tento atribut je povinný. Už je vám povědomý, protože... byl přítomen v příkladech 1 a 2.

2. Atribut marginwidth="číslo"
Nastaví šířku odsazení uvnitř rámečku od okrajů v pixelech. Například marginwidth="10" nastaví okraj obsahu vlevo a vpravo od okraje rámečku.

3. Atribut marginhight="číslo"
Podobný druhému, jen s tím rozdílem, že nastavuje výškové odsazení.

4. Atribut Scrolling="(yes|no|auto)".
Nastavuje schopnost posouvat rámeček, pokud se nevejde do oblasti, která je mu přidělena. Výchozí hodnota je auto (znamená v případě potřeby vytvořit rolování).

5. Atribut Noresize
Pokud je tento atribut nastaven, je uživateli zakázáno nezávisle měnit hranice rámce. Ve výchozím nastavení tento atribut není nastaven a uživatel si může hranice měnit, jak chce.

5. Atribut name="title"
Tento atribut lze použít k pojmenování rámce. To je nezbytné, aby k tomuto rámci měly přístup další rámce. Příklad č. 2 se zabývá právě takovým případem.

Poznámka:
Název nesmí začínat podtržítkem „_“.

6. Atributy frameborder, border a bordercolor
Tyto tři atributy jsou stejné jako sada rámců (viz atributy sady rámců výše).

Výhody a nevýhody rámů

Výhody rámů

  • Schopnost zobrazit několik stránek nezávisle v jednom okně (příklad 1 a 2 výše);
  • Schopnost přepínat obsah stránky bez opětovného načítání stránky (změní se pouze jedna oblast obrazovky);
  • Schopnost flexibilně budovat strukturu webu (záhlaví, menu, zápatí atd. – všechny statické informace jsou uloženy odděleně v souborech, což umožňuje rychle upravovat část webu);
  • Uživatel může změnit velikost výřezu sám, pokud není nastavena možnost noresize;

Nevýhody rámů

  • Vyhledávače indexované stránky špatně indexují, protože nejsou schopny interpretovat načtené soubory v rámcích. Vyhledávač rozlišuje stránky podle jejich adresy (URL) a u rámců se i přes různé stavy adresa stránky nemění. To je v rozporu s pravidly vyhledávače, což znamená, že není skutečností, že vyhledávač bude schopen stránky indexovat.
  • Je nemožné vytvořit záložku stránky v rámcích, protože Adresa URL stránky bude stejná. Takto můžete pouze zachovat původní stav rámu.
  • Ne všechny prohlížeče podporují rámce.

Budoucnost rámů:
Mnoho webmasterů již dávno začalo rámy opouštět. Důvodem jsou potíže s propagací ve vyhledávačích. Nyní všichni přecházejí na Ajax jako na dynamičtější a modernější způsob zobrazování informací na jedné stránce webu.

Vážení čtenáři, podívali jsme se na značky HTML dokumentů související s rámečky. Navzdory pochybné budoucnosti této oblasti by měl každý webmaster vědět o rámech.




Nahoru