Iframe a Frame - čo sú a ako najlepšie používať rámce v Html. Používanie rámcov v HTML Ako otvárať dokumenty pomocou odkazu v rámci
Pojem "rám" k nám prišiel z v angličtine. V preklade toto slovo znamená „rám“ a predstavuje samostatnú oblasť okna. Vo svojej štruktúre je takáto sekcia úplne hotovým HTML dokumentom.
Jednotlivé rámy rozdeľujú okná prehliadača na sekcie, ktoré sú umiestnené vedľa seba. V tomto prípade je každý rámec načítaný s vlastnou celou stránkou. Rámová technológia stále vyvoláva množstvo kontroverzií, no treba povedať, že vrchol jej obľúbenosti už prešiel. IN tento moment táto technológia je zastaraná a bežné rámce už nie sú v HTML5 podporované.
História techniky
Dnes môžeme konštatovať, že rozhodnutie opustiť prácu s rámovou technikou bolo definitívne prijaté. Stránka https://www.w3.org/TR/html5-diff/#obsolete-elements jasne uvádza, že obvyklé značky frame, frameset a noframes na vytváranie takejto štruktúry sú zastarané. Ako argument sa uvádzajú údaje, že používanie takejto štruktúry negatívne ovplyvňuje použiteľnosť stránok a ich dostupnosť na internete.
Ale moderné technológie podporujú prvok IFRAME. Jeho použitie umožňuje vkladať rámčeky do textových blokov na stránkach. Okrem toho môžu byť takéto prvky zarovnané vzhľadom na samotný text. Dôležitý bod: veľkosť vstavaných rámov v zásade nemôžete zmeniť. Nemajú zodpovedajúci atribút na zmenu veľkosti.
V budúcnosti, bez technologických skokov, je ďalšie používanie rámov nepravdepodobné. A stojí za to pripomenúť, že vedúca organizácia pre štandardizáciu internetových technológií - W3C - jasne naznačila, že takéto štruktúry by vývojári webových stránok nemali používať.
To znamená, že rámce by sa v zásade nemali používať na štruktúrovanie stránok pri vytváraní nových zdrojov. Ale s podporou a zlepšovaním existujúcich stránok bude znalosť funkcií technológie a ich použitia veľmi užitočná a produktívna.
Výhody rámov
Medzi výhody rámovej technológie patrí jednoduché použitie, vysoká rýchlosť a schopnosť presne umiestniť informácie v určitých oblastiach okna.
Použitie rámcov poskytuje úspory na objeme prenášanej prevádzky pri práci so stránkou. Koniec koncov, pri prístupe k inej sekcii informácií sa zvyčajne aktualizuje iba jedna sekcia stránky a nie celý jej kód.
Táto štruktúra poskytuje zaujímavé možnosti navigácie cez obsah zdrojov. Koniec koncov, v okne prehliadača v susedných rámoch si môžete prezerať rôzne informačné bloky. Pre používateľov je dôležité vedieť, že vyhľadávanie v rámci je ekvivalentné vykonaniu takejto operácie na samostatnej stránke.
Počas práce so stránkou môžete dynamicky meniť veľkosť samostatnej sekcie, čo je pri iných technologických riešeniach ťažko realizovateľné.
Možné nevýhody
Problémy s webovými stránkami využívajúcimi rámce sa hromadili postupne, no dnes už dosiahli hraničnú úroveň. Medzi hlavné nevýhody patrí:
Neuspokojivá použiteľnosť. Dnes podiel používateľov mobilných zariadení a tabletov s malým rozlíšením obrazovky rastie a už prevyšuje počet tých, ktorí navštevujú stránky zo stolných počítačov a notebookov. A tu spôsobuje používanie rámov vážne problémy s prispôsobivosťou stránok pri zobrazení rôzne zariadenia. Tento problém dnes nemá praktické riešenie.
Zhoršenie dostupnosti lokality pre rôzne programy. Nárast počtu doplnkových programov (napríklad čítačiek obrazovky) odhaľuje oveľa horšiu dostupnosť informácií na čítanie.
Stránky sa nezobrazujú správne. Rozloženie stránok s takouto štruktúrou často vyzerá v prehliadačoch z dizajnového hľadiska nesprávne. A to je spôsobené vlastnosťami technológie. Z hľadiska SEO je použitie rámcov v HTML rozložení stránky vysoko nežiaduce.
Dostupnosť jednej adresy pre celú štruktúru. Výsledkom je, že interné stránky takejto lokality nemožno pridať medzi záložky. To vedie k nepríjemnostiam pre používateľov.
Nesprávne indexovanie vyhľadávacími nástrojmi. Prítomnosť viacerých plnohodnotných dokumentov, z ktorých sa tvorí jedna stránka, na webe výrazne komplikuje prácu vyhľadávačom. To vedie k významným chybám pri indexovaní. Výsledkom je, že nesprávna definícia tém a adries stránok vedie k strate kritického obsahu z indexovania.
Neúcta. Toto je dosť nezvyčajná chyba zdrojov v sieti. A predsa treba povedať, že skutočnosť, že rozloženie stránok na rámcoch zastaráva, vedie k tomu, že autori a majitelia takýchto zdrojov sú považovaní za retrográdnych. Existujú však výnimky. Dokonca aj moderné stránky, ktoré hosťujú chatovacie miestnosti, zvyčajne používajú rámce.
Indexovanie rámcov vyhľadávacími nástrojmi
Informácie pochádzajúce z vyhľadávačov nám jasne hovoria, že stránky s rámcami sú indexované výrazne pomalšie. V tomto prípade často vznikajú chyby súvisiace so samotnou štruktúrou. Každý rám totiž zobrazuje plnohodnotnú internetovú stránku. A práve takáto časť webu môže byť zahrnutá do indexovacej databázy.
Negatívnym aspektom takéhoto indexovania je, že pri prechode do vnútra stránky používateľ zvyčajne nevidí ponuky a iné navigačné mechanizmy. A to nie je prekvapujúce. Musíte pochopiť, že aktualizácia rámu v tomto prípade nie je riešením problému. Všetky navigačné mechanizmy sú totiž umiestnené v inom kontajneri.
Ďalším problémom je, že hlavná stránka kontajnerovej štruktúry často obsahuje iba nadpis, meta tagy popisu a tag FRAMESET. A zdá sa to logické – zmysluplný obsah je predsa umiestnený v samostatných dokumentoch. Práve tie uvidí návštevník stránky na stránke v rámčekoch.
Vyhľadávací robot však takúto stránku takmer nikdy neindexuje. Nenájde na ňom žiadny obsah užitočný pre návštevníkov. Vyhľadávacie roboty sú nakonfigurované tak, že sa pokúšajú získať a indexovať informácie umiestnené vo vnútri značky tela. Tu dochádza k vyhľadávaniu užitočného obsahu pre používateľa. Na stránke rámca však takáto značka nie je, je nahradená značkou FRAMESET.
Tento problém možno čiastočne vyriešiť použitím NOFRAMES. Na mnohých stránkach sa však pri prístupe k nim uvádza iba informácia, že prehliadač nepodporuje rámce. A na zobrazenie stránky musíte použiť iný program.
Takéto prípady vytvárajú veľa problémov pre používateľov, ktorí pri návšteve stránky nevidia menu a ďalšie informácie, ktoré by sa mali zobraziť. Ak sú rámy umiestnené na webstránke, jej parametre z pohľadu SEO sú znížené. Štatistiky správania používateľov zároveň naznačujú, že autorita zdroja medzi vyhľadávacími nástrojmi klesá. To má určite negatívny vplyv na návštevnosť webu.
Pre vyhľadávače a indexovacie roboty je obzvlášť ťažké spracovať vnorené a viacnásobné personálne štruktúry. Skutočnosť, že každý kontajner má všetky vlastnosti samostatného dokumentu, ale neobsahuje úplnú navigáciu a ďalšie informácie, situáciu ešte viac komplikuje.
Prácu vyhľadávačov si môžete uľahčiť správnym linkovaním na stránkach. V tomto prípade musíte duplikovať všetky odkazy na ponuku, aby sa dali nájsť v každej jednotlivej časti stránky. To však výrazne komplikuje a spomaľuje prácu na optimalizácii stránky a aktualizácii informácií na nej.
Skúsenosti mnohých optimalizátorov a správcov webu tiež naznačujú, že stránky na rámoch nedostávajú vysoké hodnotenie vo výsledkoch vyhľadávania. Stáva sa to aj vtedy, ak sú zahrnuté v databáze indexovania.
Funkcie propagácie webových stránok v rámoch
Niektoré vyhľadávacie nástroje indexujú orámované súbory nesprávne alebo veľmi nesprávne. Výsledkom je, že indexová databáza nie je naplnená adresami rodičovských zdrojov (ako by to malo byť), ale odkazmi na podradené stránky.
Aby sa minimalizovali problémy s indexovaním stránok na základe rámcov, pri ich popisovaní sa používajú špeciálne značky a parametre. Hlavným prvkom konštrukcie kontajnera je sada rámov. Je to on, kto nahrádza štandardné telo; v zdrojovom kóde. Každý jednotlivý kontajner v štruktúre je opísaný rámom. Jeho množstvo v kóde stránky zodpovedá počtu jednotlivých sekcií zobrazených v okne prehliadača pri prezeraní.
Tieto značky by mali byť umiestnené na domovskej stránke a potom duplikujte obsah na každej z nich.
Oblasti použitia rámov
Vývojári HTML dokumentov majú pomerne široký výber formulárov na zobrazovanie informácií na stránkach. Text a grafické informácie možno usporiadať a usporiadať pomocou zoznamov, tabuliek alebo jednoducho pomocou možností zarovnania, nastavenia vodorovných čiar a rozdelenia na odseky. Niekedy tieto funkcie nestačia a potom musíte rozdeliť okno prehliadača na samostatné oblasti alebo rámy. V mnohých popisoch jazyka HTML v ruskom jazyku sa namiesto pojmu rámy používa pojem rámy. Frekvencia používania oboch výrazov je približne rovnaká.
Voľba rámovej štruktúry na zobrazovanie informácií na WWW je opodstatnená v nasledujúcich prípadoch:
v prípade potreby spravujte načítanie dokumentov do jednej z podoblastí okna prehliadača pri práci v inej podoblasti;
na lokalizáciu informácií na určitom mieste v zobrazovacom okne, ktoré musia byť vždy na obrazovke, bez ohľadu na obsah iných podoblastí obrazovky;
na prezentáciu informácií, ktoré sú vhodne usporiadané v niekoľkých priľahlých podoblastiach okna, z ktorých každá môže byť prezeraná nezávisle.
Uvedený zoznam nevyčerpáva všetky možné prípady, kedy je možné rámce použiť, má však odporúčací charakter.
Najprv zvážime typické použitie rámcov pomocou príkladov skutočných dokumentov HTML a potom sa pozrime na pravidlá pre vývoj dokumentov obsahujúcich rámce.
Na obr. Obrázok 5.1 zobrazuje jednu z HTML stránok agentúry Finmarket, ktorá sa špecializuje na poskytovanie informácií z finančných a akciových trhov Ruska.
Ryža. 5.1. Typický webový dokument s rámcovou štruktúrou
Táto stránka rozdeľuje okno prehliadača na tri rámy. Spodná časť okno zaberá 20 % výšky celého okna a obsahuje trvalé informácie, ktorými je v tomto prípade grafické menu, ktoré vám umožňuje kedykoľvek pristupovať k najdôležitejším sekciám. Tento rám nemôže meniť svoju veľkosť na základe užívateľských príkazov a nemá posuvné lišty. Vrchná časť okno (80% výšky) je horizontálne rozdelené na dva rámy. Ľavý rám obsahuje obsah dokumentov, ktoré si môže používateľ prezerať. Pravý rám, ktorý zaberá väčšinu zobrazovacieho okna, je určený na zobrazenie samotných dokumentov. Pri prvom načítaní tieto dva rámce rozdelia okno prehliadača horizontálne v pomere 15 % ku 85 %. Tento pomer môže používateľ počas prezerania zmeniť, čo umožňuje vybrať optimálne veľkosti rámov s prihliadnutím na obsah načítaných dokumentov. Každý z týchto rámov má svoj vlastný posuvník, ktorý vám umožňuje zobraziť celý obsah rámca, bez ohľadu na veľkosť samotného rámca, celého okna prehliadača alebo použitých fontov. Keď vyberiete akýkoľvek odkaz v ľavom ráme, príslušný dokument sa načíta do pravého rámu. Táto štruktúra vám umožňuje súčasne vidieť na obrazovke obsah dokumentov aj obsah vybraného dokumentu.
Tu je bez vysvetlenia fragment kódu HTML použitého na vytvorenie dokumentu s touto štruktúrou:
Tento príklad ukazuje najtypickejšie použitie rámových štruktúr, kde jeden rám slúži ako obsah pre dokumenty a druhý sa používa na načítanie ich obsahu. Riešenie takéhoto problému bez použitia rámov sa zvyčajne vykonáva nasledovne. Na jednej zo stránok je obsah, ktorý pozostáva z odkazov na iné dokumenty alebo ich jednotlivé časti. Po kliknutí na takýto odkaz obsah zmizne a na jeho miesto sa načíta požadovaný dokument, po prečítaní ktorého sa zvyčajne musíte vrátiť k obsahu. Pri používaní rámcov sa tento návrat stáva zbytočným, pretože obsah sa vždy nachádza na časti obrazovky.
Nájdete ho na internete
webová stránka elektronického vydania obľúbeného adresného a telefónneho zoznamu „All Petersburg“ v Petrohrade.
Elektronická verzia adresára je dostupná na http://www.allpetersburg.ru a umožňuje vám nájsť potrebné informácie na základe požiadaviek používateľov. Táto stránka dokumentu má tiež štruktúru rámu a pozostáva z dvoch rámcov, z ktorých prvý má šírku 100 pixelov a druhý zaberá celú zostávajúcu šírku výrezu. Rám umiestnený na ľavej strane slúži na grafické menu, ktoré je neustále prítomné na obrazovke a obsahuje aj logo spoločnosti Nevalink. Druhý rám obsahuje dokument, ktorým je v tomto prípade formulár žiadosti používateľa. Štruktúra tejto stránky je definovaná nasledujúcim HTML kódom:
Rámy sú veľmi podobné tabuľkám – oba rozdeľujú okno prehliadača na obdĺžnikové oblasti, v ktorých sa nachádzajú nejaké informácie. Pomocou rámov však môžete vyriešiť nielen problém s formátovaním stránok dokumentu, ale aj zorganizovať interakciu medzi nimi. Zásadný rozdiel medzi rámcami a tabuľkami je v tom, že každý rámec musí mať svoj samostatný HTML dokument, no obsah všetkých buniek tabuľky je vždy súčasťou toho istého dokumentu. Okrem toho sa stránka zobrazená v rámčeku môže posúvať pri prezeraní nezávisle od ostatných. Každý rám je v podstate samostatný „miniprehliadač“. Na rozdiel od rámov, ktorých celá štruktúra je vždy prezentovaná na obrazovke, tabuľky sa nemusia úplne zmestiť do okna a možno ich prezerať len po častiach. Z toho vyplýva, že ak v tabuľkách HTML je celkový počet buniek prakticky neobmedzený a môže dosiahnuť niekoľko stoviek, potom počet snímok v dokumente zvyčajne nepresahuje niekoľko jednotiek.
Poradenstvo
Ak potrebujete iba naformátovať dokument, potom sa stačí obmedziť na používanie tabuliek. Ak potrebujete vyriešiť zložitejšie problémy, napríklad organizovať interakciu medzi podoblastami okien alebo vytvárať podoblasti, ktoré sú trvalo umiestnené na obrazovke, potom je vhodné použiť rámy.
V konečnom dôsledku výber štruktúry dokumentu – tabuľkovej alebo rámovej – závisí od mnohých faktorov a nedá sa jednoznačne vopred určiť.
Existujú tiežstránky, ktoré sa zdajú byť zostavené podobne ako predchádzajúce. Napríklad si môžete vziať stránku veľmi populárnej celosvetovej kolekcie softvérových produktov určených predovšetkým na prácu s internetom. Adresa servera http://www.tucows.com. Upozorňujeme, že názov servera bol určený skratkou odvodenou od skratky úplného názvu kolekcie – The Ultimate Collection of Winsock Software. Keďže sa ukázalo, že skratka tucows je v súlade s frázou dve kravy (dve kravy), stránky servera často obsahujú obrázky kráv a hodnotenie softvérových produktov sa odhaduje na počet mooingov (“Moo”) a je graficky znázornené. ako riadok zodpovedajúceho počtu kráv. Väčšina stránok servera je zostavená rovnakým spôsobom - na ľavej strane okna je zoznam dostupných sekcií a na pravej strane je zoznam softvérových produktov pre vybranú sekciu. Na prvý pohľad by štruktúra dokumentu mala vyzerať približne rovnako ako v predchádzajúcich príkladoch. Tento dokument však nepoužíva rámy! Táto stránka je vytvorená pomocou tabuľky, ktorá pozostáva iba z jedného riadku s dvoma bunkami. Tabuľka nemá rám a slúži len na formátovanie stránky. Dojem vertikálne rozdelenej obrazovky je vytvorený pomocou grafického pozadia obsahujúceho vertikálna čiara, a už vôbec nie mriežku tabuľky. Môžete si to overiť zobrazením stránky bez načítania obrázkov. Použitie tabuľky je tu zrejme spôsobené úvahami o väčšej prístupnosti dokumentov, keďže rámce neumožňujú zobrazenie vo všetkých prehliadačoch.
Nevýhodou tohto prístupu je v tomto prípade nutnosť opakovať celý zoznam sekcií (ľavá strana strany) v každom dokumente, čím sa mierne zväčšuje veľkosť súboru.
Porovnanie vyššie uvedených príkladov ukazuje, že použitie tabuliek a rámcov môže byť niekedy zameniteľné a určené podľa želaní vývojárov. Všimnite si, že často pri pohľade na stránku, na ktorej je zobrazený dokument, nie je možné určiť, ako je vytvorená. Koncový používateľ nemusí poznať vnútornú štruktúru dokumentu, ale pri tvorbe vlastných webových stránok by bolo oboznámenie sa so zdrojovým kódom existujúcich dokumentov mimoriadne užitočné. V prvom príklade (pozri obr. 5.1) je rámová štruktúra dokumentu viditeľná okamžite – prítomnosť dvoch zvislých posúvačov už určuje prítomnosť jednotlivých rámcov. Nasledujúce dva príklady majú veľmi podobný vzhľad a nie je možné určiť, že prvý z nich je vytvorený pomocou rámov a druhý pomocou tabuliek. Rozdiely sa prejavia až pri práci s nimi. V príklade telefónneho zoznamu pri rolovaní dokumentu zostane ľavá časť okna na mieste, čo je možné len v prípade rámovej štruktúry. V nasledujúcom príklade (kolekcia softvérových produktov) posúvanie posunie celý obsah okna.
Štruktúru dokumentu pri práci s prehliadačom Netscape môžete zobraziť pomocou položky Informácie o stránke (vo verziách 3.x prehliadača Netscape sa táto položka menu nazývala Informácie o dokumente) v ponuke Zobraziť (obr. 5.2).
Okrem toho môžete vždy zobraziť zdrojový kód HTML celého dokumentu pomocou položky Zdroj stránky v ponuke Zobraziť (alebo položky Zobraziť zdrojový zdroj rámca v kontextovej ponuke po kliknutí pravým tlačidlom myši na zobrazenie kódu HTML dokumentu načítaného v vybraný rám).
Poradenstvo
Používanie rámikov by ste nemali zbytočne zneužívať a ich počet by nemal presiahnuť tri alebo štyri.
Na skutočných stránkach na internete môžete často vidieť nasledujúce prípady použitia rámcov:dva susedné rámy sa používajú na načítanie dokumentov, ktoré je vhodné súčasne prezerať a porovnávať. Každý z dvoch dokumentov načítaných do rámcov používa na prezentáciu informácií tabuľkovú formu. Výsledkom tohto usporiadania údajov je, že každú z dvoch tabuliek je možné prezerať (alebo tlačiť) samostatne alebo študovať v porovnaní s druhou.
Všetky príklady uvedené v tejto časti sú prevzaté zo stránok populárnych WWW serverov a možno môžu slúžiť ako príklady použitia rámcov v dokumentoch HTML.
Nasledujúce časti tejto kapitoly pokrývajú pravidlá písania dokumentov obsahujúcich rámce.
Pravidlá pre popis rámov
Prejdime teraz k pravidlám písania značiek používaných pre dokumenty s rámovou štruktúrou.
Najprv sa pozrime na úplný kód HTML, ktorý vytvára dokument so stredne zložitými rámcami:
Tento príklad vytvorí orámovanú stránku zobrazenú na obrázku. 5.3. Ako vidíte, tento kód HTML definuje štyri rámce. Horný rám sa rozprestiera po celej šírke strany a obsahuje nadpis. Nasledujú dva centrálne rámy, z ktorých jeden je umiestnený na ľavej strane a zaberá 25 percent šírky obrazovky a druhý zaberá zvyšné miesto. Posledná, štvrtá snímka zaberá spodnú štvrtinu obrazovky. Do každého rámca sa načíta samostatný HTML dokument, ktorého názov je určený parametrom SRC.
Ako je zrejmé z príkladu, na popis štruktúry rámcov sa používajú značky
, A . Pozrime sa na účel týchto značiek.
Ryža. 5. 3
.
Výsledok, že prehliadač Netscape zobrazuje dokument HTML s rámcami zobrazenými v príklade
Tag
Rámy sú definované v štruktúre s názvom FRAMESET, ktorá sa používa pre stránky obsahujúce rámy namiesto sekcie BODY bežný dokument. Webové stránky zložené z rámcov nemôžu vo svojom HTML kóde obsahovať sekciu BODY. Stránky so sekciou BODY zase nemôžu používať rámce.
Poradenstvo
Keďže orámované stránky nemajú sekciu BODY, neexistuje spôsob, ako nastaviť obrázok pozadia a farbu pozadia pre celú stránku. Pripomeňme, že tieto nastavenia sú určené parametrami BACKGROUND a BGCOLOR zapísanými v tagu BODY. To vám však nebráni načítať dokumenty s vlastným nastavením pozadia do každého rámu.
Kontajner značiek
A rámy každého bloku definície rámca. Vo vnútri nádoby môže obsahovať iba značky a vnorené značky .
Tag
má dva parametre: ROWS (riadky) a COLS (stĺpce) a zapisuje sa takto:
.
Poznámka
Niektoré prehliadače umožňujú ďalšie parametre značiek
Môžete definovať hodnoty pre ROWS alebo COLS alebo oboje. Pre aspoň jeden z týchto parametrov je potrebné definovať aspoň dve hodnoty. Ak sa vynechá iný parameter, predpokladá sa, že jeho hodnota je 100 %.
Poradenstvo
Ak v značke Ak je pre ROWS a COLS definovaná iba jedna hodnota, potom sa táto značka bude považovať za neplatnú a prehliadač ju bude ignorovať. Inými slovami, nie je možné určiť , pozostávajúce iba z jedného rámu.
Zoznam hodnôt parametrov tagu ROWS a COLS
je čiarkami oddelený zoznam hodnôt, ktoré možno zadať v pixeloch, percentách alebo relatívnych jednotkách. Počet riadkov alebo stĺpcov je určený počtom hodnôt v príslušnom zozname. Napríklad záznam
definuje množinu troch rámcov. Tieto hodnoty sú absolútne hodnoty pixelov. Inými slovami, prvá snímka (prvý riadok) má výšku 100 pixelov, druhá 240 pixelov a posledná 140 pixelov.
Nastavenie hodnôt veľkosti rámca v pixeloch nie je príliš pohodlné. Neberie sa do úvahy skutočnosť, že prehliadače bežia na rôznych operačných systémoch a s rôznym rozlíšením zobrazenia. Zároveň je možné pre niektoré prípady definovať absolútne hodnoty veľkosti, napríklad pre zobrazenie malého obrázka so známymi rozmermi. Najlepšou možnosťou by bolo nastaviť hodnoty v percentách alebo relatívnych jednotkách, napríklad:
.
Tento príklad vytvorí tri rámy, ktoré sú umiestnené ako riadky po celej šírke obrazovky. Horný riadok bude zaberať 25 percent dostupnej výšky obrazovky, stredný riadok bude zaberať 50 percent a spodný riadok bude zaberať 25 percent. Ak sa súčet zadaných percent nerovná 100 %, hodnoty sa proporcionálne upravia tak, aby výsledok bol presne 100 %.
Hodnoty v relatívnych jednotkách sú nasledovné:
.
Na proporcionálne rozdelenie priestoru sa používa hviezdička (*). Každá hviezda predstavuje jednu časť celku. Sčítaním všetkých hodnôt čísel vedľa hviezdičiek (ak je číslo vynechané, potom sa predpokladá jedno), dostaneme menovateľ zlomku. V tomto príklade bude prvý stĺpec zaberať 1/6 celkovej šírky okna, druhý stĺpec bude zaberať 2/6 (alebo 1/3) a posledný 3/6 (alebo 1/ 2).
Nezabudnite, že číselná hodnota bez akýchkoľvek znakov určuje absolútny počet pixelov pre riadok alebo stĺpec. Hodnota so znakom percenta (%) určuje podiel celkovej šírky (pre COLS) alebo výšky (pre ROWS) výrezu a hodnota s hviezdičkou (*) určuje proporcionálne rozdelenie zostávajúceho priestoru.
Tu je príklad, ktorý používa všetky tri možnosti nastavenia hodnôt:
.
V tomto príklade bude mať prvý stĺpec šírku 100 pixelov. Druhý stĺpec zaberie 25 percent celej šírky výrezu, tretí stĺpec zaberie 1/3 zostávajúceho priestoru a nakoniec posledný stĺpec zaberie 2/3. Absolútne hodnoty sa odporúča priradiť najskôr v poradí zľava doprava. Sú nasledovaní percentuálne hodnoty z celkovej veľkosti priestoru. Nakoniec sa zaznamenajú hodnoty, ktoré určujú pomerné rozdelenie zostávajúceho priestoru.
Poradenstvo
Ak používate absolútne hodnoty COLS alebo ROWS, ponechajte ich malé, aby sa zmestili do akéhokoľvek okna prehliadača, a podľa potreby ich doplňte. najmenej, jedna hodnota špecifikovaná v percentách alebo relatívnej forme, ktorá vyplní zostávajúci priestor.
Ak sa použije značka
, v ktorom sú zadané hodnoty COLS aj ROWS, sa vytvorí mriežka snímok. Napríklad:
Tento riadok HTML kódu vytvára rámcovú mriežku s tromi riadkami a dvoma stĺpcami. Prvý a posledný riadok zaberajú každý 1/4 výšky a stredný riadok zaberá polovicu. Prvý stĺpec zaberá 2/3 šírky a druhý - 1/3.
Kontajner
môžu byť vnorené do iného podobného kontajnera, ako bolo ukázané v úvodnom príklade. Uvažujme ďalej o použití značky .
Poznámka
Niektoré zdroje o jazyku HTML uvádzajú, že parametre značky COLS a ROWS sa vzájomne vylučujú. Netscape aj Microsoft Internet Explorer však umožňujú ich spoločné používanie.
Tag
Tag definuje jeden rámec. Musí sa nachádzať vo vnútri dvojice značiek
A. Napríklad:
Upozorňujeme, že značka nie je kontajner a na rozdiel od
nemá koncovú značku. Celá definícia jedného rámca sa vykonáva pomocou jedného riadku HTML kódu.
Existuje toľko značiek, ktoré treba zaznamenať koľko jednotlivých rámcov je definovaných pri zadávaní tagu
. V predchádzajúcom príklade značka boli dané dva reťazce, takže bolo potrebné napísať dva tagy . Tento príklad je však v podstate zbytočný, keďže žiadny z rámov nemá žiadny obsah!
Tag má šesť parametrov: SRC, NAME, MARGINWIDTH, MARGINHEIGHT, SCROLLING a NORESIZE.
Poznámka
Niektoré prehliadače umožňujú používať množstvo ďalších parametrov značiek . Prehľad možností prehliadačov Netscape a Microsoft Internet Explorer je uvedený na konci kapitoly.
V praxi v tagu Málokedy sa všetky parametre používajú súčasne.
Väčšina dôležitý parameter- SRC (skratka pre zdroj). Dosť často v tagu je zadaný jeden parameter SRC. Napríklad:
.
Hodnota parametra SRC určuje adresu URL dokumentu, ktorý sa načíta do tohto rámca. Táto adresa je zvyčajne názov súboru HTML umiestneného v rovnakom adresári ako hlavný dokument. Potom bude riadok definície rámca vyzerať napríklad takto:
.
Všimnite si, že každý súbor HTML špecifikovaný v definícii rámca musí byť úplný dokument HTML, nie fragment. To znamená, že dokument musí mať značky HTML, HEAD, BODY atď.
Hodnota SRC môže byť samozrejme akákoľvek platná adresa URL. Ak sa napríklad rám používa na zobrazenie obrázka GIF, ktorý sa nachádza na serveri vydavateľa tejto knihy, mali by ste napísať:
.
Poradenstvo
Do dokumentu nezahŕňajte žiadny obsah popisujúci štruktúru rámca.
Čistý text, nadpisy, grafika a ďalšie prvky nemožno použiť priamo v dokumente, ktorý popisuje štruktúru rámca. Všetok obsah rámcov musí byť definovaný v samostatných súboroch HTML, ktorých názvy určuje parameter SRC značky .
Parameter NAME určuje názov rámca, ktorý možno použiť na odkazovanie na tento rámec. Zvyčajne je odkaz nastavený z iného rámca umiestneného na tej istej stránke. Napríklad:
.
Táto položka vytvorí rámec s názvom "Frame_1", na ktorý možno odkazovať. Napríklad:
Pre stiahnutie kliknite sem
dokument other.htm do rámca s názvom Frame_1.
Všimnite si parameter TARGET, ktorý odkazuje na názov rámca. Ak rám nedostane názov, vytvorí sa nepomenovaný rámec a nebude možné naň odkazovať z iného rámca. Názvy rámcov musia začínať alfanumerickým znakom.
Parametre MARGINWIDTH a MARGINHEIGHT umožňujú nastaviť šírku okrajov rámu. Toto je napísané takto:
MARGINWIDTH="hodnota",
kde "hodnota" je absolútna hodnota v pixeloch. Napríklad:
Tento rám má okraje v hornej a dolnej časti 5 pixelov a vľavo a vpravo - 7 pixelov. Pamätajte, že tu hovoríme o okrajoch, nie o rámoch. Parametre MARGINWIDTH a MARGINHEIGHT definujú priestor v rámci, v ktorom sa nebudú nachádzať žiadne informácie. Minimálna prijateľná hodnota pre tieto parametre je jedna.
Rámy automaticky vytvoria a zobrazia posuvníky, ak sa obsah rámca úplne nezmestí do prideleného priestoru. Niekedy to narúša dizajn stránky, takže by bolo užitočné mať možnosť ovládať zobrazenie posuvníkov. Na tieto účely sa používa parameter SCROLLING. Formát záznamu:
.
Parameter SCROLLING môže nadobúdať tri hodnoty: YES, NO alebo AUTO. Hodnota AUTO má rovnaký účinok, ako keby neexistoval parameter SCROLLING. Hodnota ÁNO spôsobí, že sa rolovacie lišty zobrazia bez ohľadu na to, či sú potrebné, a NIE im zabráni v zobrazení. Napríklad:
.
Používateľ môže zvyčajne meniť veľkosť rámov pri prezeraní stránky. Ak umiestnite kurzor myši na rám rámu, kurzor nadobudne tvar označujúci možnosť zmeny veľkosti a umožní vám presunúť rám na požadované miesto. To niekedy narúša štruktúru krásne navrhnutých rámov. Ak chcete používateľovi zabrániť v zmene veľkosti snímok, použite parameter NORESIZE:
.
Tento parameter nevyžaduje žiadne hodnoty. Prirodzene, keď je parameter NORESIZE nastavený pre jeden z rámov, potom nemožno zmeniť ani veľkosť žiadneho zo susedných rámov. Niekedy, v závislosti od rozloženia snímok, bude stačiť použitie parametra NORESIZE na jednom z snímok, aby sa zabránilo zmene veľkosti niektorého z nich na obrazovke.
Tag
Schopnosť pracovať s rámcami nebola zamýšľaná ani v štandarde HTML 3.0 ani HTML 3.2. Tu bola donedávna pomerne typická situácia, keď sa na mnohých WWW stránkach aktívne využívajú skutočne používané funkcie, ktoré však nie sú súčasťou štandardu. To znamenalo, že prehliadače mohli legitímne ignorovať rámce. S príchodom štandardu HTML 4.0 sa situácia zmenila – teraz je v štandarde zakotvená podpora rámcových štruktúr. Všimnite si, že väčšina moderných prehliadačov rozpoznávala rámce ešte pred príchodom HTML 4.O. Je však potrebné poskytnúť informácie používateľom, ktorí používajú prehliadače, ktoré nepodporujú rámce. Pre takéto prehliadače je možné poskytnúť alternatívne informácie, ktoré sa zapisujú medzi dvojicu značiek A. Vyzerá to takto:
celý HTML dokument
Všetko umiestnené medzi značkami A, budú zobrazené prehliadačmi, ktoré nepodporujú rámce. Prehliadače podporujúce rámce budú ignorovať všetky informácie medzi týmito značkami.
Všimnite si, že v reálnom živote vývojári stránok HTML často nevyužívajú možnosti značky vytvoriť stránky bez rámových štruktúr, ale jednoducho vytvoriť dve verzie ich HTML dokumentov. Pre túto možnosť domovskej stránke Zvyčajne sa vám ponúkne výber načítania dokumentu s rámovou štruktúrou alebo bez nej. Potom sa v závislosti od výberu používateľa načíta iba jedna verzia dokumentu.
Vlastnosti opisu rámových štruktúr
Jedným z najdôležitejších tagov používaných pri popise rámcových štruktúr je tag . Značka má množstvo parametrov, z ktorých žiadny nie je povinný ani nezávisí od ostatných, no pri ich písaní je potrebné zvážiť množstvo vecí.
Ukazuje sa, že ak potrebujete vytvoriť rámec, do ktorého možno neskôr načítať dokument, napríklad príkazom z iného rámca, mali by ste použiť značku napíšte parameter SRC. Ak toto
parameter je vynechaný, rám sa nevytvorí, aj keď priestor preň zostane. Napríklad taký záznam ako je celkom logické a môže definovať rámec s názvom "B", do ktorého sa pôvodne nenačíta žiadny dokument. Kvôli absencii parametra SRC však rámec s týmto názvom nebude existovať, takže ďalšie pokusy o načítanie akéhokoľvek dokumentu doň zostanú neúspešné a priestor v okne pridelený pre tento rámec bude prázdny. Navyše niektoré prehliadače (napríklad Microsoft Internet Explorer verzia 3 pre Windows Z.xx) zobrazia chybové hlásenie a ukončia sa pri pokuse o načítanie dokumentu do takéhoto rámca.
Požiadavku na nastavenie parametra SRC nie je možné logicky vysvetliť, preto je najlepšie túto skutočnosť jednoducho vziať na vedomie. Potom, aj keď neexistuje žiadny dokument, ktorý je potrebné načítať do tohto rámca od úplného začiatku, mali by ste zadať názov súboru v parametri SRC. Napríklad takýto súbor sa môže volať empty.htm (prázdny), ktorého obsahom bude minimálny možný správny HTML dokument, a to:
Tento dokument môžete zredukovať na dve značky: , ktorý bude zároveň platným HTML dokumentom. Po ceste maximálneho zmenšenia veľkosti „prázdneho“ dokumentu sa môžete obmedziť na súbor, ktorého veľkosť sa rovná jednému bajtu, v ktorom je uložený znak medzery (alebo akýkoľvek iný nezobraziteľný znak). Tento súbor nebude platným HTML dokumentom, ale nebude spôsobovať problémy s väčšinou prehliadačov. Ďalšie zmenšovanie veľkosti takéhoto súboru na nulu nie je opodstatnené, keďže pri jeho načítaní prehliadačom Netscape zobrazí varovné hlásenie (obr. 5.4), že dokument neobsahuje údaje.
Ryža. 5. 4
.
Upozornenie pri nahrávaní súboru s nulovou dĺžkou
Zároveň na táto správa musíte reagovať stlačením klávesu alebo tlačidlo myši. Vždy, keď sa dokument znova načíta alebo sa zmení veľkosť okna prehliadača, správa sa znova zobrazí.
Môžete zadať aj názov neexistujúceho súboru, no v tomto prípade prehliadač Netscape zobrazí varovné hlásenie (obr. 5.5), ktoré nezabráni ďalšej práci, no povedie k podobným nepríjemnostiam.
Ryža. 5. 5
.
Varovné hlásenie pri pokuse o stiahnutie neexistujúceho súboru
Poradenstvo
Vytvorte súbor s názvom empty.htm, ktorý má veľkosť jedného bajtu a obsahuje znak medzery. Urobte z toho pravidlo pri písaní tagu vždy zadajte SRC=empty.htm, ak nie je možné okamžite zadať názov konkrétneho súboru.
Príklady rámov
Táto časť poskytuje niekoľko typických príkladov definícií rámcov.
Vráťme sa k príkladu uvedenému na začiatku tejto časti (obr. 5.3). Tento príklad používa vnorenú štruktúru
. Externý štítok vytvorí tri riadky výšky, v tomto poradí 25, 50 a 25 percent celkovej výšky zobrazovanej oblasti:
.
V rámci tohto rozsahu definície sú prvý a posledný riadok jednoduché rámce:
Každý z týchto riadkov vyplní celú šírku obrazovky. Prvý riadok v hornej časti obrazovky zaberá 25 percent výšky a tretí riadok v dolnej časti zaberá tiež 25 percent výšky. Medzi nimi je však vnorený tag
:
Tento tag definuje dva stĺpce, na ktoré je rozdelený stredný riadok obrazovky. Riadok obsahujúci tieto dva stĺpce zaberá 50 percent výšky obrazovky, ako je definované vo vonkajšej značke
. Ľavý stĺpec využíva 25 percent šírky obrazovky, zatiaľ čo pravý stĺpec zaberá zvyšných 75 percent šírky.
Rámce pre tieto stĺpce sú definované v rámci vnoreného páru značiek
A, pričom definícia rámcov pre prvý a posledný riadok sa píše mimo tohto páru, ale vnútri vonkajšieho v príslušnom poradí.
Štruktúra záznamu je ľahko pochopiteľná, ak si to predstavujete ako vnorený blok
ako samostatný prvok . V našom príklade vonkajšia značka definuje tri riadky. Každý z nich musí byť dokončený. V tomto prípade sú naplnené najskôr samostatným prvkom , potom - ako vnorený blok dva stĺpce široké a potom ďalší prvok .
Teraz môže vzniknúť otázka, či môže byť hodnota parametra značky SRC nastaviť názov súboru, ktorý zase obsahuje popis štruktúry rámca. Áno, je to prijateľné. V tomto prípade značka sa použije na ukazovanie na dokument HTML, ktorý je štruktúrou rámca a používa sa ako samostatný rámec.
Vráťme sa k príkladu a nahraďme vnorené
do samostatného . Prirodzene, budete potrebovať dva súbory HTML namiesto jedného, pretože sú vnorené budú teraz umiestnené v samostatnom dokumente. Tu je obsah prvého (externého) súboru:
Váš prehliadač nedokáže zobraziť rámce
Druhý súbor s názvom frameset.htm obsahuje nasledujúci kód:
V tomto prípade sa horný a spodný riadok správajú rovnako. Ale druhý riadok je teraz jednoduchý rám ako ostatné. Súbor frameset.htm, na ktorý ukazuje parameter SRC, však definuje svoju vlastnú štruktúru rámca. V dôsledku toho bude obrazovka zobrazovať presne to isté ako v pôvodnom príklade.
Poznámka
V princípe je možné vytvárať vnorené štruktúry pomocou značiek , ktoré odkazujú na rovnaký súbor popisujúci štruktúru rámca, ale toto by sa nemalo robiť. Táto situácia povedie k nekonečnej rekurzii a nedovolí ďalšiu prácu. Niektoré prehliadače kontrolujú túto situáciu a zabraňujú možnosti zlyhania. Ak sa adresa zapísaná do SRC zhoduje s jednou z predchádzajúcich adries v hierarchii rámcov, potom sa ignoruje, ako keby parameter SRC vôbec nebol prítomný.
Poradenstvo
Používanie vnorených štruktúr v rôznych kombináciách je možné vytvoriť takmer akúkoľvek možnú rámovú mriežku. Nezabudnite však vytvoriť užívateľsky prívetivé rozhranie a nielen demonštrovať svoju schopnosť pracovať s rámami.
Tu je príklad vytvorenia pravidelnej obdĺžnikovej mriežky rámov:
Tento príklad vytvorí rámovú mriežku s dvoma riadkami a tromi stĺpcami (obrázok 5.6). Keďže je definovaná množina šiestich rámcov, je potrebné definovať aj šesť jednotlivých rámcov . Upozorňujeme, že definície rámca sú uvedené riadok po riadku. Teda prvý tag definuje obsah prvého stĺpca v prvom riadku, druhý definuje obsah druhého stĺpca a tretí dokončuje definovanie údajov pre posledný stĺpec prvého riadku. Posledné tri rámčeky potom vyplnia stĺpce druhého riadku.
Ryža. 5. 6
.
Rámová mriežka 2 x 3
Všimnite si tiež, že súčet percentuálnych hodnôt v parametri COLS nie je 100, ale iba 90 percent. Na tom nie je nič zlé, pretože prehliadač automaticky proporcionálne zmení šírku stĺpcov, aby odstránil tento rozpor.
Funkcie navigácie pri používaní rámov
Práca s dokumentmi, ktoré majú rámcovú štruktúru, má niektoré funkcie, ktoré potrebujete vedieť. Tieto vlastnosti JB sa prejavujú najmä v navigácii pri načítavaní dokumentov. Výrazné rozdiely v navigácii sú charakteristické nielen pre rôzne prehliadače, ale aj rôzne verzie rovnaký prehliadač.
Prehliadač Netscape verzie 3.xa 4.x, keď kliknete na tlačidlo Späť, vráti dokument späť do rámca, s ktorým ste naposledy pracovali. Rovnaké akcie sa vykonajú, ak je pri volaní kontextového menu v niektorom z rámov vybratá položka Späť. Pripomeňme, že kontextové menu sa vyvoláva kliknutím pravého tlačidla myši. Bez ohľadu na to, v ktorom rámci bolo kontextové menu vyvolané, stlačením tlačidla Späť sa teda zruší posledná operácia, aj keď bola vykonaná v inom rámci.
Prehliadač Netscape 2.x fungoval úplne inak. Kontextová ponuka obsahuje príkaz Späť v rámci, ktorý vráti dokument do aktuálneho rámca namiesto toho, aby vrátil späť poslednú operáciu.
V ktorejkoľvek verzii Netscape môžete označiť dokument obsiahnutý vo vybranom rámci. Ak to chcete urobiť, musíte vybrať režim Pridať záložku z kontextového menu uvedeného vyššie. Ak jednoducho vyberiete režim Pridať záložku z hlavnej ponuky prehliadača, na dokumente sa vytvorí záložka s popisom štruktúry rámca
, ktorý nebude presne ukazovať na konkrétny rám. Možnosť vytvoriť záložku v dokumente samostatného rámca neznamená, že pri ďalšom používaní tejto záložky vznikne rovnaká rámová štruktúra. Dokument, na ktorý odkazuje záložka, sa načíta do celého okna mimo rámovú štruktúru.
Interakcia medzi rámami
Najjednoduchšia forma prezerania informácií na WWW spočíva v čítaní stránok a sledovaní odkazov, pri ktorom je aktuálny dokument v okne prehliadača nahradený iným dokumentom. Pri práci s rámami si môžete zorganizovať užívateľsky príjemnejšiu schému načítania dokumentov.
Interakcia medzi rámcami je schopnosť načítať dokumenty do vybratého rámca pomocou príkazov z iného rámca. Na tento účel sa používa parameter značky TARGET<А>. Tento parameter určuje názov rámca alebo okna prehliadača, do ktorého sa načíta dokument, na ktorý odkazuje tento odkaz. Štandardne, ak neexistuje parameter TARGET, dokument sa načíta do aktuálneho rámca (alebo okna). Toto predvolené nastavenie možno prepísať zadaním značky s požadovanou hodnotou parametra TARGET. Zadanie názvu predvoleného rámca, do ktorého sa má načítať, je veľmi užitočné, keď veľký počet odkazov potrebuje nasmerovať dokumenty do konkrétneho rámca. Typická situácia s obsahom v jednom rámci, z ktorého odkazy načítavajú zodpovedajúce dokumenty do susedného rámca, bola znázornená na začiatku tejto kapitoly (obrázok 5.1). Pre tento príklad v sekcii
súbor s názvom LIST.htm, je vhodné napísať nasledujúci riadok: . V opačnom prípade by ste museli zadať parameter TARGET pre každý odkaz.
Názvy rámov musia začínať latinským písmenom alebo číslom. Názov môže byť názov existujúceho okna alebo rámu, alebo je možné zadať nový názov, pod ktorým sa otvorí nové okno. Existujú štyri vyhradené názvy, ktoré pri zadaní vykonávajú špeciálne akcie. Tieto mená začínajú podčiarkovníkom (_): "_blank", "_self", "_parent" a "_top". Akékoľvek iné meno, ktoré začína podčiarkovníkom, nie je platné.
TARGET="_blank" - zabezpečí načítanie dokumentu do nového okna. Toto okno nebude mať názov, a preto doň nebude možné načítať ďalší dokument.
TARGET="self" - dokument sa načíta do aktuálneho rámca (alebo okna). Tento záznam by sa mal použiť na obídenie predvoleného nastavenia špecifikovaného značkou .
TARGET="_top" - spôsobí načítanie dokumentu do celého okna. Ak je dokument už v celom okne, potom má táto hodnota rovnaký účinok ako„_ja“.
TARGET="parent" - spôsobí načítanie dokumentu do oblasti, ktorú zaberá nadradený rámec aktuálneho rámca. Ak neexistuje nadradený rámec, táto hodnota parametra má rovnaký účinok ako"_top" .
Poznámka
Niektoré zdroje HTML chybne uvádzajú, že ak rámec nemá rodiča, hodnota „_parent“ je ekvivalentná s hodnotou „_self“. Toto tvrdenie nie je vždy správne.
POZOR
Názvy rezervovaných rámcov „_blank“, „_self“, „_parent“ a „_top“ musia byť napísané malými písmenami latinky. Všimnite si, že takáto náročnosť je jedinečná pre Netscape. Microsoft Internet Explorer v každom prípade správne rozpoznáva zapísané vyhradené mená.
Tu sú príklady interakcie medzi rámami a jednotlivými oknami prehliadača. Zvážte nasledujúci HTML kód:
Používanie rámov
Tento dokument HTML popisuje štruktúru pozostávajúcu z troch rámcov s názvom „A“, „B“ a „C“. Názvy rámcov budú potrebné neskôr na usporiadanie prepojení medzi rámcami. Všimnite si, že rám s názvom "A" v v tomto príklade nebudú tam žiadne referencie, takže to mohlo zostať úplne bez mena. Keď načítate vyššie uvedený dokument do prehliadača, rámce zobrazia informácie obsiahnuté v súboroch identifikovaných parametrom SRC. Snímka "A" prijme obsah súboru frame_a.htm a zvyšné dva snímky prijmú údaje zo súboru empty.htm, ktorý nemá žiadne údaje na zobrazenie. Pripomeňme ešte raz, že HTML dokument popisujúci štruktúru rámcov nemá sekciu
A a má odkazy na súbor s názvom test.htm, ktorý sa nachádza v rovnakom adresári ako súbor frame_a.htm.
Text súboru test.htm je veľmi jednoduchý:
Skúšobný dokument
Text testovacieho dokumentu
Súbor frame_a.htm, ktorého obsah bol načítaný do rámca „A“, má šesť odkazov na rovnaký súbor test.htm s rôznymi hodnotami parametra TARGET.
Uvažujme o akciách, ktoré sa vyskytnú pri implementácii týchto odkazov. Prvý odkaz s hodnotou TARGET="B" načíta súbor test.htm do rámca s názvom "in". Všimnite si, že po implementácii ktoréhokoľvek zo šiestich odkazov prehliadač Netscape automaticky zafarbí všetkých šesť inou farbou, pretože ukazujú na rovnaký súbor. Microsoft Internet Explorer označuje iba odkazy, ktoré sú skutočne implementované.
Druhý odkaz urobí to isté pre rám "C". V rámcoch „B“ a „C“ spočiatku nie je nič (presnejšie sa načíta obsah prázdneho súboru empty.htm). Implementácia prvého a druhého odkazu vyplní tieto rámce.
Tretí odkaz s hodnotou TARGET=MD" povedie k vytvoreniu nového okna prehliadača s názvom "D" a načítaniu súboru test.htm do neho. Upozorňujeme, že forma zápisu tohto odkazu sa nelíši od prvého 2. Rozdiel je v tom, že v prvom V dvoch prípadoch boli uvedené odkazy na existujúce rámce, ktorých názvy boli definované v súbore so štruktúrou rámca a v tomto prípade bol daný odkaz na neexistujúci objekt. táto referencia sa vykoná aspoň raz, potom sa vytvorí okno s názvom „D“ a opakovaným kliknutím na odkaz sa údaje iba načítajú do už existujúceho okna „D.“ Používateľ ho samozrejme môže kedykoľvek zavrieť čas a znova ho vytvorte výberom tohto odkazu Obrázok 5.7 ukazuje situáciu po implementácii prvých troch odkazov Pripomeňme, že umiestnenie a veľkosti okien na obrazovke určuje používateľ.
Ryža. 5. 7
.
Situácia získaná po postupnej implementácii prvých troch prepojení dostupných v ľavom rámci
Piaty odkaz s hodnotou TARGET="_top" načíta dokument v celom okne namiesto celej štruktúry rámca. Pri tejto hodnote parametra TARGET sa nevytvorí nové okno. Návrat do rámovej štruktúry je možný kliknutím na tlačidlo Späť.
Poznámka
Názvy rámcov alebo okien prehliadača by sa nemali zamieňať s názvami stiahnutých dokumentov. Názvy snímok nie sú pri prezeraní nikde viditeľné, sú potrebné len na organizáciu interakcie, a preto sú pred používateľom skryté. Môžete ich vidieť iba pri prezeraní zdrojového textu HTML súborov.
Poradenstvo
Pripomeňme, že názvy sťahovaných dokumentov určuje tag . Ak je dokument načítaný v celom okne, jeho názov sa zobrazí úplne hore v okne prehliadača. Ak je dokument načítaný do rámca, jeho názov sa nikde nezobrazuje a názov dokumentu s popisom rámovej štruktúry dokumentu bude stále umiestnený v hornej časti okna. Názvy dokumentov určených na prezeranie v rámcoch preto nie sú veľmi dôležité. Napríklad na obr. 5.7 ten istý dokument sa načíta do rámčekov „B“ a „C“, ako aj do samostatného okna s názvom „D“, pričom názov dokumentu je viditeľný iba v okne „D“. Neodporúča sa však vynechávať názvy dokumentov načítaných do rámcov, pretože sa môžu objaviť napríklad v zozname Záložky pri vytváraní záložky pre dokument umiestnený v rámci alebo zoznam prezeraných dokumentov.
Pozrime sa na ďalší zaujímavý príklad organizácie interakcie medzi rámcami a oknami prehliadača. Nech je text hlavného načítaného dokumentu HTML:
Používanie názvov okien
Dokument s rámovou štruktúrou do nového oknaА>
Používanie rámov
Upozorňujeme, že ak je hlavným dokumentom štandardný dokument HTML, súbor frame.htm načítaný z odkazu z hlavného dokumentu obsahuje štruktúru rámca a následne odkazuje na súbor empty.htm.
Po načítaní hlavného dokumentu bude okno prehliadača vyzerať ako na obr. 5.8 (ľavé okno). Celý dokument pozostáva z dvoch odkazov. Nasledujme prvý odkaz. Vytvorí sa nové okno s názvom „D“, v ktorom sa objaví text súboru test.htm (obr. 5.8, pravé okno). Opakovaním tohto odkazu sa znova načítajú iba údaje v okne „D“.
Ryža. 5.8. Príklad interagujúcich rámových okien
Nasledujme druhý odkaz. Vytvorí sa nové okno bez názvu, do ktorého sa načíta súbor frame.htm, definujúci dva rámce s názvami „C“ a „D“ (obr. 5.8, spodné okno). V oboch rámcoch nie je nič (presnejšie je načítaný prázdny dokument empty.htm). Všimnite si, že je tu teraz otvorené okno s názvom "D" a okno s rámami, z ktorých jedno je tiež pomenované "D". Nasledujme opäť prvý odkaz. Na rozdiel od prvého prípadu sa údaje nenačítajú do okna „D“, ale do rámca s názvom „D“. Výsledok všetkých opísaných akcií je znázornený na obr. 5.8.
Poznámka
Vzhľad otváraných okien a ich obsah môže niekedy závisieť aj od poradia akcií používateľa. Práca s dokumentmi, ktorých správanie je ťažké predvídať, zvyčajne spôsobuje oprávnené podráždenie používateľa a naznačuje nedostatok premyslenosti v štruktúre údajov zo strany vývojárov.
Ak zmeníte poradie akcií, t. j. najprv vykonáte druhý odkaz a potom prvý, potom sa okno s názvom „D“ vôbec nezobrazí! Stane sa tak preto, lebo po implementácii druhého odkazu sa vytvorí rámec s názvom „D“ a pre prvý odkaz nebude potrebné otvárať nové okno.
Tento príklad vôbec nie je vzorom, ale iba ukazuje možnú zložitosť organizácie interakcie. Naopak, mali by ste sa snažiť zbytočne nekomplikovať organizáciu údajov, tým menej vytvárať situácie, v ktorých sa výsledok mení v závislosti od poradia akcií používateľa.
Poradenstvo
Vyhnite sa kolíziám v názvoch rámov a okien. Hoci nie je formálne zakázané mať rámy s rovnakými názvami, môže to viesť k zámene.
POZOR
Názvy rámov a okien sa porovnávajú, pričom sa rozlišujú malé a veľké písmená. Takže napríklad snímky s názvom „frame_1“ a „Frame_1“ sa budú líšiť.
Príklady zložitejších interakcií medzi snímkami
Vyššie boli diskutované celkom jednoduché typické príklady interakcie medzi rámcami. Zvažovali sa úlohy vytvorenia nových okien, výmeny obsahu jednotlivých rámov, ako aj zobrazenie dokumentu v plnom okne s deštrukciou celej rámovej štruktúry. Uvádzajú sa príklady použitia vlastných názvov rámcov, ako aj rezervovaných názvov „_blank“, „_self“ a „_top“. Použitie posledného rezervovaného mena "_parent" je zložitejšie a bude popísané nižšie.
Táto časť sa pozrie na zložitejšie možnosti interakcie medzi rámcami. Predovšetkým bude realizovaná výmena obsahu niekoľkých susedných rámcov.
Jedným z najbežnejších použití rámcov, ktoré už bolo spomenuté v tejto kapitole, je prípad dvoch rámcov, z ktorých jeden obsahuje zoznam odkazov a druhý obsahuje samotné dokumenty (obr. 5.1).
Skúsme rozšíriť formuláciu problému. Predpokladajme, že chcete na obrazovke zobraziť obsah pomerne veľkého dokumentu pozostávajúceho z kapitol rozdelených do sekcií. Typickým príkladom je odborná literatúra na určitú tému. Popíšme požadovanú prezentáciu takéhoto dokumentu na obrazovke. Rozdeľme obrazovku na tri rámy, z ktorých jeden bude obsahovať zoznam kapitol knihy, druhý - zoznam častí vybranej kapitoly a tretí - text vybranej časti. Keď vyberiete odkaz v druhom rámci, obsah tretieho rámca by sa mal zmeniť. Implementácia tejto požiadavky je triviálna. Keď vyberiete odkaz v prvom rámci, obsah druhého aj tretieho rámca by sa mal zmeniť súčasne. Na prvý pohľad je implementácia tejto úlohy v HTML nemožná (bez použitia programovania v JavaScripte alebo iných), pretože pri spustení odkazu sa načíta iba jeden dokument a nie dva alebo viac. Riešenie tohto problému je však celkom možné.
Ukážme si možné riešenie takéhoto problému na jednoduchom príklade. Predpokladajme, že chcete na obrazovke zobraziť tri snímky a načítať do nich nejaké dokumenty. V každom z týchto rámcov si dajme za úlohu vytvárať odkazy, ktorých implementáciou sa napríklad prehodil obsah dvoch rámcov. Nechajte prvý rám zaberať 50 % šírky okna a 100 % jeho výšky a umiestnite ho na ľavú stranu okna. Pravá polovica okna je tiež horizontálne rozdelená na polovicu a obsahuje ďalšie dva rámy. Táto štruktúra je opísaná nasledujúcim kódom:
Pomocou tohto HTML kódu sa vytvorí požadovaná štruktúra, ale riešenie problému je nemožné. Je potrebné odstrániť vnorenú štruktúru
do samostatného súboru a v tomto HTML kóde popíšte rámec, ktorý odkazuje na vytvorený súbor. Potom bude text zdrojového dokumentu vyzerať takto:
Príklad interakcie medzi rámami
Vytvorený súbor s vnorenou štruktúrou
má názov 1_2.htm a obsahuje nasledujúci kód:
1-2
Na prvý pohľad sa vôbec nič nezmenilo. V oboch prípadoch ide o tri rámce, do ktorých sa načítavajú dokumenty left.htm, 1.htm a 2.htm. Keď však rámy interagujú, rozdiel sa objaví. Ak v prvom prípade žiadny z rámcov nemá nadradený rámec, potom v druhom prípade pre dva snímky bude rodičom rámec s názvom "Two_Frames". Ak teda v ktoromkoľvek z dvoch rámcov použijete prepojenie s hodnotou parametra TARGET rovnajúcou sa "_parent", výsledok bude v prvom a druhom prípade odlišný. V prvom prípade implementácia takéhoto prepojenia načíta dokument do celého okna a nahradí existujúcu štruktúru rámca. Tu vstupuje do hry vlastnosť value "_parent", ktorá bez rodičovského rámca funguje ako "_top". V druhom prípade bude nahradený rámec s názvom „Two_Frames“, ktorý zaberá pravú polovicu obrazovky a v podstate pozostáva z dvoch snímok.
Druhý prípad sa od prvého formálne líši aj prítomnosťou rámca s názvom „Two_Frames“, na ktorý je možné odkazovať. Je to práve táto funkcia, ktorá nám umožní problém vyriešiť.
Tu je obsah súboru left.htm, ktorý sa na začiatku načíta do prvého z uvažovaných rámcov:
Ľavý rám
dokumenty v dvoch rámoch umiestnených na pravej strane okna.
Upozorňujeme, že text súborov 1_2.htm a 2_1.htm sa líši iba v poradí odkazov na súbory 1.htm a 2.htm.
Uvažujme teraz o konštrukcii dokumentu načítaného do ľavého rámu. Obsahuje dva odkazy s parametrom TARGET="Two_Frames". Implementácia ktoréhokoľvek z týchto prepojení vytvorí dva rámce v mieste rámca „Two_Frames“ (toto je pravá polovica obrazovky), pričom sa načítajú dokumenty 1.htm a 2.htm v jednom alebo druhom poradí. Pri výbere možnosti 1-2 sa teda dokument 1.htm načíta do pravého horného rámu a 2.htm do pravého dolného rámu. Keď vyberiete možnosť 2-1, poradie dokumentov sa zmení. Výsledkom je, že striedavý výber možností vytvára dojem, že dokumenty v dvoch rámcoch menia miesta. Presne tento efekt sme sa snažili dosiahnuť (obr. 5.9).
Na obsahu dokumentov 1.htm a 2.htm v popisovanom príklade nezáleží. Napríklad namiesto triviálnych dokumentov však vytvoríme dokumenty s odkazmi, ktoré implementujú rovnaké akcie.
Text súboru 1.htm:
Dokument 1
Dokument 1
Možnosť 1-2
Možnosť 2-1
Súbor 2.htm sa od 1.htm líši iba hlavičkou.
Existujú dva odkazy s hodnotou TARGET="_parent", ktoré ukazujú na nadradený rámec. Tieto odkazy môžu byť napísané aj s explicitným názvom nadradeného rámca, t.j. TARGET="Two_Frames", ale použitie implicitného názvu je zvyčajne pohodlnejšie. Napríklad, ak vylúčite odkazy z ľavého rámca (dokument left.htm), môžete vynechať názov rámca "Two_Frames" špecifikovaný pri popise štruktúry hlavného rámca. Tým by sa vytvoril rámec bez názvu, ale prepojenia z dokumentov 1.htm a 2.htm s TARGET="_parent" by stále fungovali správne.
Poradenstvo
Vždy, keď je to možné, použite implicitné pomenovanie rámca. Napríklad „parent“, „top“, „self“ namiesto zadania konkrétnych mien.
Ryža. 5.9. Interakčné rámové okná s efektom zmeny načítaných dokumentov
Rozdiel medzi rámami a oknami prehliadača
Pri práci s rámami vyvstáva otázka, aký je zásadný rozdiel medzi usporiadaním rámovej štruktúry okna prehliadača a vytvorením viacerých okien. Na prvý pohľad by sa mohlo zdať, že si vystačíte s možnosťou vytvorenia viacerých okien, keďže práca s oknami a rámami je veľmi podobná. Každý rámec vyžaduje načítanie samostatného dokumentu, má schopnosť samostatne posúvať obsah a možno ho upravovať príkazmi z iných rámcov. Tieto vlastnosti rámcov sú podobné vlastnostiam okien prehliadača. Pri tabuľkovom usporiadaní údajov nie je možné dosiahnuť takúto slobodu konania.
Medzi rámami a oknami je však podstatný rozdiel. Pri organizácii rámca sa rozdelenie oblasti zobrazenia na rámce vykonáva samotným dokumentom HTML s uvedením rozmerov a ich umiestnenia. Pri prezeraní môže užívateľ meniť veľkosť rámov, pokiaľ to nie je zakázané v popise ich štruktúry. Usporiadanie okien je dané všeobecnými pravidlami práce so systémom Windows – používateľ si môže ľubovoľné okno rozbaliť na celú obrazovku, minimalizovať ho do ikony alebo ľubovoľne nastaviť jeho veľkosť a umiestnenie. Okná sa na rozdiel od rámov môžu prekrývať. Tento bohatý výber má svoju nevýhodu – zakaždým musíte manuálne umiestniť okná na obrazovke a zmeniť ich veľkosť, aby ste dosiahli optimálnu možnosť zobrazenia. Pri rámoch býva optimálny pomer veľkostí určený vývojárom v popise rámovej konštrukcie a často ho netreba meniť.
Poradenstvo
Rámy síce nedokážu poskytnúť všetky možnosti práce s jednotlivými oknami, no ich racionálne usporiadanie vytvorí užívateľovi maximálny komfort.
Práca s oknami má aj ďalšie nevýhody. Vytvorenie každého okna vyžaduje veľa pamäte. V Netscape je každé okno v podstate ďalšou kópiou prehliadača s kompletnou sadou tlačidiel a ponúk. Rovnaká situácia je typická pre Microsoft Internet Explorer.
Všimnite si, že organizácia jednotlivých okien v prehliadačoch sa robí inak. Vytvorenie nového okna s dokumentom má za následok zobrazenie samostatnej úlohy v systéme Windows, ako môžete vidieť pri prezeraní zoznamu spustených úloh. Prepínanie medzi oknami sa teda dá robiť rovnakým spôsobom ako prepínanie medzi rôznymi úlohami, napríklad stlačením klávesovej skratky +.
Mnoho populárnych aplikácií Windows má koncept okna dokumentu. Príkladom je textový procesor Microsoft Word alebo grafický program Paint Shop Pro a mnohé ďalšie. Každá z týchto aplikácií umožňuje súčasné používanie niekoľkých okien s údajmi a spravidla existuje ponuka Okno, ktorá poskytuje zoznam okien a dáva možnosť medzi nimi prepínať. K vytvoreniu nového okna v takýchto aplikáciách zvyčajne dochádza pri otvorení existujúceho súboru alebo vytvorení nového. V týchto programoch sa však pri vytvorení nového okna nevytvorí nová spustená úloha.
Netscape má tiež ponuku Okno, ktorá obsahuje zoznam existujúcich okien. (Vo verziách Netscape 4.x túto funkciu zabezpečuje položka Window v menu Communicator.) Vráťme sa k obr. 5.8. V tomto príklade sú súčasne otvorené tri okná, z ktorých každé je v podstate samostatný prehliadač. Pre používateľa sú to však všetky okná toho istého prehliadača, ktoré môžu navzájom spolupracovať. V ktoromkoľvek z týchto okien môžete otvoriť ponuku Okno a zobraziť zoznam troch okien. Na obr. Obrázok 5.10 ukazuje situáciu, keď sa to robí pre spodné okno.
Ryža. 5.10. Otvorenie Frame Windows v prehliadači Netscape
Každé okno je možné zatvoriť samostatne (pomocou príkazu Zavrieť z ponuky Súbor). Na ukončenie práce s prehliadačom v ktoromkoľvek okne môžete otvoriť ponuku Súbor a vybrať možnosť Skončiť (obr. 5.11).
Ak bolo otvorených niekoľko okien, zatvoria sa všetky, ale predtým sa zobrazí varovné hlásenie (obr. 5.12).
Každé okno prehliadača môže mať svoje vlastné nastavenia (aj keď nie všetky). Pozrite sa na obr. 5.11. Dve okná sú otvorené, jedno z nich je rozdelené do troch rámov. Rovnaký dokument sa vloží do dvoch z troch rámcov, ako aj do samostatného okna. Schopnosť nezávisle konfigurovať parametre každého okna umožňuje zobraziť ten istý dokument odlišne. Vo vyššie uvedenom príklade je veľkosť písma dokumentu v jednom okne väčšia ako v druhom. Tento efekt sa dosiahne nastavením rôznych kódovaní pre každé okno (položka Kódovanie dokumentu v ponuke Možnosti alebo položka Sada znakov v ponuke Zobraziť pre verziu 4.x), pričom obe kódovania používajú rovnaké písmo, ale rozdielnej veľkosti. Zmena ktorejkoľvek položky v ponuke Všeobecné predvoľby ovplyvní všetky okná.
Ryža. 5.11. Ukončenie prehliadača Netscape
Ryža. 5.12. Upozornenie na zatváranie okien v prehliadači Netscape
Ďalšie funkcie prehliadača
Všetky vyššie uvedené značky popisu rámca s príslušnými parametrami sú implementované takmer identicky v prehliadačoch Netscape a Microsoft Internet Explorer, avšak každý z týchto prehliadačov vám umožňuje dodatočne použiť svoje vlastné jedinečné značky alebo parametre.
Funkcie prehliadača Netscape
Prehliadač Netscape od verzie 3.0 umožňuje tri ďalšie možnosti: BORDER, FRAMEBORDER a BORDERCOLOR. Parameter BORDER sa vzťahuje iba na značku
. Hodnota parametra BORDER určuje hrúbku okrajov medzi snímkami v pixeloch.
Parameter FRAMEBORDER je možné použiť v značke
a v značke a určuje prítomnosť rámca medzi rámcami. Tento parameter môže byť áno alebo nie. Ak je parameter zapísaný v tagu , potom sa jeho účinok vzťahuje na všetky snímky v tejto skupine. Pre jednotlivý rámec možno hodnotu prepísať. Predvolená hodnota je Áno.
Upozorňujeme, že parametre BORDER a FRAMEBORDER fungujú nezávisle od seba. Napríklad, ak je FRAMEBORDER nastavené na NO a BORDER je nastavené na inú hodnotu ako nula, potom sa hranica medzi rámcami nevykreslí, ale priestor určený hodnotou parametra BORDER pre ňu bude stále pridelený.
Parameter BORDERCOLOR je možné použiť ako v tagu
a v značke a definuje farbu okraja, ktorá môže byť určená názvom farby alebo jej hexadecimálnym vyjadrením.
Tu je príklad:
Prvý riadok tohto kódu HTML špecifikuje tri snímky s medzerou medzi nimi pre rám s hrúbkou 10 pixelov (obrázok 5.13).
Ryža. 5.13. Kreslenie hraníc medzi rámami v prehliadači Netscape
Medzi oknami rámčeka "A" a "B" sa nevykreslí žiadny rám kvôli hodnote NO v parametri FRAMEBORDER, avšak pre rám je definovaná červená farba. Pre posledný rámec "c" je hodnota FRAMEBORDER nastavená na Áno a má prednosť pred hodnotou nastavenou v prvom riadku. Preto sa medzi rámčekmi s názvom „B“ a „C“ stále vykreslí červený rám s hrúbkou 10 pixelov.
Poznámka
Ak hranice medzi rámcami nie sú nakreslené, prehliadač Netscape neumožní zmenu veľkosti rámov ich ťahaním myšou, a to ani bez parametra NORESIZE. V prípade Microsoft Internet Explorer je situácia iná.
Upozorňujeme, že rámy bez okrajov sa nepoužívajú veľmi zriedka. Malo by sa pamätať na to, že absencia rámov nebráni vzhľadu posúvačov (obr. 5.14).
Ryža. 5.14. Posuvníky v ráme bez okrajov
Funkcie prehliadača Microsoft Internet Explorer
Prehliadač Microsoft Internet Explorer umožňuje použiť parameter FRAMEBORDER na rovnaké účely, ako je popísané vyššie, ale neumožňuje nastaviť farbu a hrúbku rámikov. Avšak len číselná hodnota "O" môže byť použitá ako hodnota pre parameter FRAMEBORDER na zrušenie kreslenia rámca alebo nenulová číselná hodnota na kreslenie rámca.
Rozdiel v pravidlách nastavenia hodnôt parametra FRAMEBORDER pre rôzne prehliadače je veľmi nepríjemný. Skúste napríklad nastaviť FRAMEBORDER=Yes. Táto položka je správna pre Netscape, ale pre Microsoft Internet Explorer bude mať za následok absenciu rámca. Predchádzajúci príklad (obr. 5.13) pri prezeraní v Microsoft Internet Explorer bude prezentovaný bez rámčeka.
Poradenstvo
Hodnotu parametra FRAMEBORDER sa odporúča písať vždy v číselnej forme, napríklad FRAMEBORDER=0. Toto sa riadi pravidlami pre písanie parametra pre Microsoft Internet Explorer, ale porušuje pravidlá pre Netscape (hoci to ten druhý správne vníma).
Poznámka
Ak sa rámčeky medzi rámčekmi nekreslia, potom vám prehliadač Microsoft Internet Explorer (na rozdiel od Netscape), pri absencii parametra NORESIZE, umožní „dotýkať sa“ zmeny veľkosti rámov ťahaním rámčekov myšou. Miesto, kde by mal byť rám, nájdete zmenou tvaru ukazovateľa myši.
Prehliadač Microsoft Internet Explorer umožňuje použitie dodatočného parametra FRAMESPACING zapísaného v značke
, ktorého hodnota určuje počet pixelov medzi snímkami, ktoré majú zostať prázdne.
Uveďme príklad, ktorého výsledok zobrazenia je znázornený na obr. 5.15.
Zmena vzdialenosti medzi rámami
Ryža. 5.15. Prázdne miesto medzi snímkami v programe Microsoft Internet Explorer
Poznámka
Bohužiaľ, v mnohých popisoch jazyka HTML sa chybne uvádza, že v značke je potrebné použiť parameter FRAMESPACING . Microsoft Internet Explorer umožňuje použitie tohto parametra iba v značke .
Plávajúce rámy
Prehliadač Microsoft Internet Explorer umožňuje použitie jedinečného tagu
Okrem toho je možné na nastavenie polohy a veľkosti plávajúceho rámca v dokumente použiť tieto dodatočné parametre: WIDTH, HEIGHT, HSPACE, VSPACE, ALIGN. Ich účel a poradie použitia sa zhodujú s príslušnými parametrami pre vložené obrázky, ktoré určuje značka .
Microsoft Internet Explorer je prvý prehliadač (a zatiaľ jediný), ktorý podporuje takzvané „plávajúce“ rámce.
Tieto rámy môžu byť umiestnené kdekoľvek na obrazovke, rovnako ako grafika a tabuľky.
Rámik napravo od tohto textu je umiestnený na stránke pomocou špeciálnej značky . Pri vytváraní rámu bolo zadané zarovnanie doprava.
Výsledok zobrazenia tohto príkladu prehliadačom Microsoft Internet Explorer je na obr. 5.16. Prehliadače, ktoré nepodporujú koncept plávajúcich rámcov, napríklad namiesto zobrazenia obsahu dokumentu float.htm zobrazia text „Váš prehliadač neumožňuje zobrazenie plávajúcich rámcov.“
Ryža. 5.16. Plávajúci rámec v programe Microsoft Internet Explorer
Všimnite si, že koncept plávajúcich rámcov je ideológiou podobný vloženým obrázkom alebo tabuľkám. Tu je ďalší dokument HTML úplne vložený na požadované miesto v dokumente HTML.
Poradenstvo
V súčasnosti je používanie plávajúcich rámcov obmedzené na jeden prehliadač – Microsoft Internet Explorer verzie 3.0 a vyššej. Upozorňujeme, že používatelia iných prehliadačov (najmä Netscape) nebudú môcť vidieť obsah prvkov iframe.
Nástroje na vytváranie dokumentov obsahujúcich rámce
Dokument HTML obsahujúci rámce, ako každý iný dokument, možno vytvoriť alebo upraviť manuálne pomocou ľubovoľného dostupného textového editora. Väčšina špecializovaných editorov HTML buď nemá možnosti vizuálneho rámovania, alebo má veľmi obmedzené možnosti. Existuje niekoľko špeciálnych editorov, ktoré sú zamerané na vytváranie rámov. Stručne popíšme schopnosti niektorých z nich.
Editor rámcov FrameGang
Jedným z takýchto editorov je utilita FrameGang, ktorú vyvinula austrálska spoločnosť Sausage Software, ktorá je známejšia vďaka svojmu obľúbenému HTML editoru HotDog.
Informácie o tomto softvérovom produkte možno získať na http://www.sausage.com, ako aj zo zbierky softvérových produktov pre internet (at http://www.tucows.com alebo ktorýkoľvek iný z niekoľkých desiatok zrkadlových serverov roztrúsených po celom svete).
Pomôcka FrameGang je doplnkom k akémukoľvek HTML editoru alebo bežnému textovému editoru spustenému v prostredí Windows, ktorý vám umožňuje vizuálne navrhnúť potrebnú štruktúru rámca a následne vygenerovať zodpovedajúci HTML kód. Výsledný HTML kód je možné preniesť do HTML editora cez schránku Windows (Clipboard). Program FrameGang vám umožní rýchlo zostaviť požadovanú štruktúru rámu.
Pozrime sa na možnosti programu. Po nainštalovaní tohto programu do systému Windows a jeho spustení sa zobrazí výzva na výber jednej z dvoch možných štruktúr rámca prvej (hornej) úrovne - stĺpcové usporiadanie rámov (Columns) alebo radové usporiadanie (Rows) a tiež určenie ich počtu. V budúcnosti môže byť každý z rámcov prvej úrovne v prípade potreby rozdelený na niekoľko rámcov druhej úrovne. Nie je k dispozícii väčší počet úrovní rámca, ale nejde o významné obmedzenie, pretože v praxi sa zriedka používajú viac ako dve úrovne.
Ako príklad si vyberieme štyri rámce usporiadané do stĺpcov. Ďalej by ste mali vytvoriť štruktúru rámcov druhej úrovne, čo sa robí rozdelením existujúcich snímok v opačnom smere. V tomto príklade je možné rámy rozdeliť iba horizontálne. Vytváranie rámcov druhej úrovne sa vykonáva v položke ponuky Pridať, ktorej implementácia pridá nasledujúci rámec k aktuálnemu.
Upozorňujeme, že vtipné obrázky v rámoch nemajú žiadny význam a slúžia len na vyplnenie prázdneho miesta. Ich kreslenie je možné zrušiť v menu Možnosti. Upozorňujeme tiež, že samotný názov výrobcu (klobása - klobásy) a názov niektorých jeho softvérových produktov (HotDog - nepotrebuje preklad) určili štýl rozhrania tohto balíka - v mnohých položkách ponuky je obrázok klobás .
Po definovaní štruktúry rámov je potrebné nastaviť ich veľkosti. To sa dosiahne jednoduchým posunutím okrajov rámov pomocou myši rovnakým spôsobom, ako sa to robí pri zmene veľkosti okien systému Windows. Nastavené rozmery pre aktuálny rám sa zobrazujú v percentách v oknách s názvom Šírka a Výška. Ak potrebujete nastaviť veľkosti snímok nie v percentách, ale v pixeloch alebo relatívnych jednotkách, musíte zmeniť výsledný HTML kód manuálne mimo programu FrameGang.
Ďalej je potrebné pre každý rámec nastaviť jeho názov (Názov), ktorý možno vynechať, adresu URL dokumentu pôvodne načítaného do tohto rámca (URL rámca) a tiež vybrať hodnotu parametra Resizeable Frame Border a parametra rolovania. pre obsah rámčeka (Posúvanie snímok).
Vo vybranom externom prehliadači si môžete kedykoľvek zobraziť vytváranú štruktúru rámca bez opustenia programu FrameGang. Slúži na to tlačidlo Náhľad. Nastavenie názvu prehliadača sa vykonáva v ponuke Možnosti. Po nastavení všetkých parametrov by ste mali vygenerovať HTML kód zodpovedajúci vybranej štruktúre rámca, ktorý sa zapíše do schránky Windows (tlačidlo HTML Compile). Výsledný kód je možné pri práci v ľubovoľnom editore vložiť zo schránky na požadované miesto v súbore HTML.
Tlačidlá Uložiť a Otvoriť súbor vám umožňujú uložiť a prečítať súbor iba v špeciálnom kódovaní špecifickom pre program FrameGang a nie je určené na žiadne iné použitie.
Nižšie je uvedený HTML kód vygenerovaný FrameGangom pre popísaný príklad:
Na získanie správneho HTML dokumentu stačí výsledný kód vložiť medzi značky A. Môžete pridať sekciu hlavičky dokumentu
, v ktorom zadefinujete potrebné údaje, napríklad názov dokumentu (nezabudnite, že názov dokumentu sa píše medzi značky A). Upozorňujeme, že moderné prehliadače môžu fungovať správne, aj keď niektoré potrebné značky chýbajú. Ak je vyššie uvedený kód HTML uložený ako súbor s príslušnou príponou, a to aj bez pridania akýchkoľvek značiek, Netscape Navigator aj Microsoft Internet Explorer budú môcť dokument zobraziť správne.
Program FrameGang vám umožňuje vizuálne navrhovať rámy, je celkom pohodlný a ľahko sa používa, ale nie je bez niektorých nedostatkov. Predovšetkým neexistuje spôsob, ako určiť veľkosť rámov napísaním požadovaných čísel v oknách Šírka a Výška, pretože zobrazujú iba veľkosti nastavené pri posúvaní hraníc rámca pomocou myši. Všeobecne akceptované parametre rámu MARGINWIDTH a MARGINHEIGHT nie sú nastavené. Neexistuje spôsob, ako zapísať súbor v textovom formáte na disk, čo znemožňuje používanie tohto programu offline.
Editor rámcov Frame-It
Ďalším špecializovaným editorom rámcov je Frame-It, informácie o ňom nájdete na:
http://www.iinet.net.au/~bwh/frame-it.html
Práca s týmto programom je v mnohom podobná predchádzajúcej. Najprv musíte určiť základnú štruktúru rámov a ich počet. Ďalej je každý rám, ak je to potrebné, rozdelený na niekoľko, ktoré tvoria štruktúry druhej úrovne. Rovnako ako predchádzajúci program je počet úrovní vnorenia rámcov obmedzený na dve.
Pre každý rámec sa nastavia všetky potrebné parametre vyplnením príslušných polí. Na rozdiel od predchádzajúceho programu je možné nastaviť hodnoty parametrov MARGINWIDTH a MARGINHEIGHT. Okrem toho bol zavedený príznak Invisible Frame Borders, ktorý po nastavení generuje nasledujúci fragment kódu:
FRAMEBORDER="NO" BORDER="0" FRAMESPACING="0".
Po nastavení požadovaných parametrov rámca môžete vygenerovaný HTML kód uložiť do súboru alebo zapísať do schránky Windows. Vygenerovaný kód bude obsahovať nielen popis štruktúry rámca, ale aj štartovaciu značku , ako aj pár značiek A, medzi ktoré sa zapisujú informácie, určené pre prehliadače, ktoré nezobrazujú rámce.
Pre konkrétny príklad sa vygeneruje nasledujúci kód:
FRAMESACING="0">
s rámovou konštrukciou
Ak v tomto príklade zrušíte začiarknutie políčka Neviditeľné okraje rámu, vygenerovaný kód sa výrazne zmení:
rolovanie=auto noresize>
rolovanie=auto noresize>
rolovanie=auto noresize>
rolovanie=auto noresize>
rolovanie=auto noresize>
Váš prehliadač nemôže zobrazovať dokumenty
s rámovou konštrukciou
Informácie o používaní rámov na WWW
Informácie o rámcoch nájdete na nasledujúcich adresách na WWW:
Ako vložiť stránku do HTML stránky? Ak to chcete urobiť, musíte použiť , ktorý v aktuálnom dokumente vytvorí vložený rámec, ktorý zobrazuje iný dokument HTML.
Displej
Zobrazovací blok.
Príklad kódu
Výkonný a zároveň ľahko použiteľný
V starých zlých časoch bolo veľa webdizajnu prvky, ktoré kazia život každému developerovi. Takmer vždy išlo o zlý dizajnový prístup. Našťastie živel bola v HTML5 zastaraná. ale alebo " vložený rám» je stále k dispozícii. Bude v ďalšej verzii zastaraná? Možno by sme sa tomu mali vyhnúť? Existuje niekoľko platných použití tohto prvku pri vytváraní stránky HTML. Ale musíte pochopiť, čo to je a ako to funguje, aby ste sa vyhli chybám.
Podobnosti a rozdiely A
Oba tieto prvky umožňujú vytvoriť samostatný dokument HTML. Odkaz na obsah dokumentu, na ktorý odkazuje aktuálna webová stránka, je špecifikovaný v atribúte src.
. . . . . .
Hlavný rozdiel medzi A vec je zabezpečuje súlad s pravidlom, že HTML dokument je prioritou. Obsah sa objaví vo vnútri prvku, ktorý je súčasťou aktuálneho dokumentu. Ako príklad si predstavte toto vložené video prevzaté zo služby YouTube:
Video je jasne na stránke HTML a nie na samostatnom paneli. prvok porušil túto paradigmu a umožnil dokumentu vykonávať kontrolu nad oknom prehliadača, pričom ho rozdelil na niekoľko malých panelov (rámcov), z ktorých každý zobrazuje samostatný dokument. Všetky ostatné rozdiely medzi a vyplývajú z tohto základného rozdielu.
Neprerábajte rozloženia založené na rámoch pomocou prvkov iframe
Jedného dňa možno budete čeliť úlohe aktualizovať starú webovú stránku, ktorá bola vytvorená pomocou rámcov. Možno budete chcieť použiť a pevná šírka rozloženia na vytvorenie rovnakej nočnej mory nezávislých panelov a parapetov. Ale nebudete môcť použiť atribút target na otvorenie odkazu v samostatnom rámci. Môžete začať hľadať riešenia JavaScript. Prosím nerob to.
Dobré (a hrozné) využitie
Existuje niekoľko platných prípadov použitia na vytvorenie stránky HTML:
vkladanie mediálneho obsahu tretích strán;
vkladanie vlastného mediálneho obsahu prostredníctvom multiplatformového dokumentu;
príklady vloženého kódu;
vkladanie „apletov“ tretích strán ako spôsobov platby.
Tu je niekoľko hrozných prípadov použitia: :
Fotogaléria;
fórum alebo chat.
Ak potrebujete vložiť nezávislé, už existujúce HTML dokumenty do aktuálneho dokumentu, použite . Ak všetko vytvárate od začiatku, nie je dôvod rozdeľovať návrh stránky do viacerých samostatných dokumentov. Najmä ak v skutočnosti nejde o nezávislé časti obsahu.
atribúty iframe
Názov atribútu
Význam
Popis
pieskovisko
Povoliť rovnaký pôvod Povoliť hornú navigáciu Povolené formuláre Povoliť skripty
Nastavuje množstvo obmedzení pre obsah načítaný do rámca. Nastaviť predtým ako vytvoriť stránku HTML.
rolovanie
áno nie auto
Určuje, či sa majú v ráme zobrazovať rolky alebo nie. Zastarané v HTML5. Namiesto toho použite CSS.
názov
názov
Určuje názov rámca.
Zarovnať
vľavo vpravo hore stredné dno
Určuje zarovnanie rámu vzhľadom na okolité prvky. Je zastaraný. Namiesto toho použite CSS.
rámová hranica
áno (alebo 1) č
Používa sa na povolenie zobrazenia okraja okolo rámu. Zastarané v HTML5. Namiesto toho použite CSS.
longdesc
URL
Používa sa na zadanie adresy URL stránky, ktorá obsahuje dlhý popis obsahu rámca. Je zastaraný. Namiesto toho použite CSS.
šírka okraja
pixelov
Používa sa na ovládanie šírky výplne od obsahu po okraj rámu. Je zastaraný. Namiesto toho použite CSS.
src
URL
Určuje adresu URL dokumentu, ktorá sa má zobraziť v prvku IFRAME.
vspace
pixelov
Nastaví zvislé okraje od rámu k okolitému obsahu. Je zastaraný. Namiesto toho použite CSS.
šírka
pixely %
Definuje šírku rámca na stránke HTML.
Táto publikácia je prekladom článku „ “, ktorý pripravil priateľský projektový tím
Dobrý deň, milí čitatelia blogu. Dnes si povieme niečo o rámcoch v HTML. Je jasné, že začneme od začiatku, konkrétne s tým, o aký druh zvieraťa ide. Povieme si aj o súčasnosti (Frame) a budúcnosti (Iframe) týchto prvkov v aktuálnej verzii značkovacieho jazyka hypertextu a v novom štandarde Html 5 s .
Na konci článku, po podrobnom popise procesu vytvárania vstavaných rámcov a ich klasickej štruktúry v Html kóde (už len zriedka používanom), sa dotkneme relevantnosti budovania stránky na nich a tiež rozoberieme možné spôsoby ich využitia v aktuálnom časovom období na príklade môjho blogu.
Čo to je a ako sa líši Iframe od Frame?
Čo je to? Ukazuje sa, že ich možno použiť nielen na webových stránkach, ale aj v akýchkoľvek aplikáciách do programov, líšia sa však tým, že okno webovej stránky alebo aplikácie bude rozdelené do niekoľkých oblastí, z ktorých do každej sa načíta samostatný dokument. . Okrem toho sa tieto rámové oblasti správajú nezávisle od seba.
Asi najzrejmejším príkladom ich využitia, s ktorým ste sa už takmer všetci stretli, sú takzvané súbory pomocníka, ktorými disponuje mnoho programov nainštalovaných vo vašom počítači.
Do ľavého okna sa načíta súbor s ponukou pomocníka a v pravom okne sa zobrazí dokument zodpovedajúci vybranej položke ponuky. Je pozoruhodné, že táto štruktúra vám umožňuje znovu nenačítať súbor s ponukou do ľavého okna pri otvorení nového dokumentu v pravom. Presne z toho sa skladá hlavná výhoda použitia rámov v HTML.
V skutočnosti by sa samotný názov týchto prvkov mal interpretovať ako nezávislé okno. Pomocou rámov máme možnosť rozdeliť jedno veľké okno na niekoľko fragmentov, ktoré zase môžu slúžiť ako prijímače samostatných na sebe nezávislých dokumentov (strany, texty, obrázky, videá atď.).
Ako sa vytvára štruktúra rámca v hypertextovom značkovacom jazyku? Ak hovoríme o štandarde Html 4.01 (podľa klasifikácie), ktorý je v súčasnosti hlavný, potom sa na to používajú tri prvky - Frame, Frameset a Noframes.
Iframe - vstavaný rám v štandarde Html 5
Ak hovoríme o štandarde Html 5 (našej budúcnosti, ktorého niektoré prvky už podporuje veľa prehliadačov), potom nebudú existovať značky Frame, Frameset a Noframes, ako aj klasická štruktúra rámca, namiesto toho bude jedna single iframe tag (embedded frame) , o ktorom si povieme na začiatku, a potom upriamime našu pozornosť na klasickú schému z verzie 4.01, ktorá sa teraz skutočne používa.
Iframe, na rozdiel od klasiky diskutovanej nižšie, nevyžaduje nahradenie značky Body značkami Frameset. Tie. túto značku možno vložiť na bežné stránky, napríklad do odseku alebo kdekoľvek inde. Vo svojom jadre je tento prvok veľmi podobný značke Img, o ktorej sme už uvažovali.
Je to vložený prvok s vymeniteľným obsahom, pretože sa správa presne ako vložený prvok, ale zobrazuje sa cudzí externý obsah. V jazyku HTML sú len štyri takéto prvky – Img, Iframe, Object a Embed. Náš hrdina teda predpokladá prítomnosť externého súboru, ktorý sa načíta do oblasti, ktorej veľkosť je nastavená pomocou atribútov tohto tagu.
To. Iframe je prvok výlevky, do ktorého sa načíta externý objekt (napríklad video). A na označenie cesty k tomuto súboru, ktorý by sa mal na stránke načítať, použite špeciálny atribút Src. Ale na rozdiel od Img je prvok Iframe spárovaný, t.j. je tam aj uzatváracia značka:
Tento príklad zobrazuje výstup na stránke videa na YouTube pomocou prvku iframe. Aby sa obmedzila oblasť rámu (okna), kde sa načíta externý súbor, sú poskytnuté atribúty Šírka a výška, ktorého hodnoty sú uvedené v pixeloch:
Tie. táto značka vytvára oblasť, do ktorej sa načíta nejaký externý objekt (nezáleží na tom, či je z vášho webu alebo z iného zdroja). Šírka a výška oblasti sú špecifikované pomocou Width a Height a atribút Src určuje cestu k tomuto objektu.
Prvok iframe zdedil všetky tieto atribúty od podobných vložených značiek s nahradeným obsahom (ako je už spomínaný Img). No z obrázkov si zobral aj atribúty Hspace a Vspace, ktoré vám umožňujú nastaviť odsadenia od okrajov rámčeka po text, ktorý ho obklopuje.
Je tiež dôležité, že zarovnanie vstavaného rámu sa vykonáva presne rovnakým spôsobom, ako sme mohli vidieť pri štúdiu obrázkov v Html - . Všetky rovnaké Zarovnať, ale pre značku Iframe s možnými hodnotami Spodná, Horná, Stredná, Ľavá a Pravá.
Tento prvok si ale z klasickej rámovej štruktúry prevzal aj niekoľko atribútov z tagu Frame, o ktorom si veľmi podrobne povieme nižšie v texte. Medzi tieto atribúty patrí Názov, ktorého hodnotu možno použiť ako hodnotu, aby sa dokument, ktorý potrebujete po kliknutí na odkaz, otvoril v okne tohto rámca (viac si prečítajte nižšie).
Aj v prvku Iframe sa atribút Frameborder migroval zo značky Frame, ktorá má iba dve hodnoty - buď 0 (rámik okolo rámca sa nezobrazuje) alebo 1 (rámec je viditeľný). Predvolená hodnota je Frameborder=1, takže na jej odstránenie budete musieť zadať Frameborder="0":
Do tohto prvku sa z Frame preniesol aj atribút Scrolling, ktorý má predvolenú hodnotu Auto - rolovacie lišty v rámci sa budú zobrazovať podľa potreby, keď je obsah väčší ako veľkosť okna určeného na jeho zobrazenie.
Z prvku Frame sa presunuli aj atribúty Marginwidth a Marginheight. Podrobne o nich bude reč nižšie v texte, ale v skratke – umožňujú nastaviť odsadenie na šírku a výšku od okrajov rámika po obsah, ktorý je v ňom umiestnený.
Ako som už spomenul, jasným príkladom použitia iframe je:
Vložením iframe priamo do webovej stránky získate výstup videa z YouTube. Dospeli sme k záveru, že tento prvok je krížencom medzi inline prvkami s nahradeným obsahom a v skutočnosti klasickými rámcami, o ktorých si teraz povieme.
Rámy založené na tagoch Frame a Frameset - ich štruktúra
Vytvorenie klasickej štruktúry rámca teda začína skutočnosťou, že namiesto otváracej a uzatváracej značky Body, ktorá by sa zvyčajne mala nachádzať v akomkoľvek dokumente, napíšete do kódu Html a nahradíte ju kontajnerom založeným na prvkoch. Sada rámov.
Základným bodom je, že v tomto prípade nemožno použiť prvok Body - buď Body (pre bežný dokument), alebo Frameset (pri vytváraní štruktúry rámca dokumentu):
Každý rám, ktorý vytvoríme vo vnútri hlavného, je vytvorený pomocou samostatného prvku Rám. Tento tag je jednoduchý a nastavujeme v ňom cestu k dokumentu, ktorý sa nám načíta do tohto okna.
Tretím prvkom, ktorého sme sa ešte nedotkli, je Noframes. Je spárovaný a umožňuje vám do neho napísať nejaký text, ktorý prehliadač spracuje a zobrazí na webovej stránke iba v prípade, že rovnaký prehliadač (alebo iné zobrazovacie zariadenie) nepodporuje rámce. Môže sa to stať napríklad vtedy, ak používate prehliadač pre mobilné zariadenia.
Zvyčajne v Noframes pridávajú nielen informácie o aktuálnej situácii s nemožnosťou spracovania rámovej štruktúry, ale pridávajú aj možnosť prejsť na iné stránky, kde môžete pokračovať v práci bez ich použitia. Je ťažké o ňom povedať niečo iné, takže pokračujme.
Ukazuje sa, že prvok Frameset, ktorý sa používa namiesto značky Body, zaberá celý priestor vyhradený pre oblasť zobrazenia a rámy sa budú vytvárať v tejto oblasti pomocou jednotlivých prvkov Frame. V tejto súvislosti vyvstáva otázka - ako rozdeliť pozorovaciu plochu medzi samostatné okná alebo, inými slovami, ako nastaviť veľkosť každého z nich.
To sa dosiahne pridaním príslušných atribútov do prvku Frameset. Sú dve - Cols and Rows. Cols nastavuje rozdelenie veľkého okna na vertikálne rámy alebo stĺpce a Rows umožňuje rozdeliť ho na horizontálne okná alebo riadky.
Vytvorenie štruktúry na základe Frameset a jeho atribútov Cols a Rows
Hodnoty stĺpcov a riadkov značky Html Frameset sú čísla oddelené čiarkami (bez medzier). Tieto čísla nastavujú proporcie okien, ktoré chceme ako výsledok získať. Preto bez ohľadu na to, koľko čísel oddelených čiarkou je napísaných v stĺpcoch alebo riadkoch, výsledkom bude počet snímok, ktoré máme.
Napríklad pomocou tohto zápisu dostaneme tri zvislé stĺpce, ktorých šírka bude zodpovedať pomeru 2:5:3.
Keďže sme nastavili proporcie pre tri snímky, budeme musieť medzi otváraciu a zatváraciu značku Frameset zahrnúť tri prvky Frame, a to aj bez zadania ďalších atribútov:
V dôsledku toho bude naša rámová štruktúra pozostávajúca z troch prázdnych okien vyzerať takto:
V tomto príklade nastavujeme veľkosti okien (Frame) pomocou percent, ktoré sú prevzaté zo šírky oblasti zobrazenia (to je prípad použitia Cols) alebo z jej výšky (Rows). Pri zmene výrezu sa zachová percentuálny vzťah medzi veľkosťami snímok. Namiesto percent však môžete použiť aj jednoduché čísla, ktoré budú znamenať. Myslím si, že ani tu by nemali vzniknúť ťažkosti s porozumením.
Existuje však aj dosť neobvyklá možnosť v označení veľkosti, ktorá vyzerá hviezdička "*". Okrem toho to môže byť buď iba „*“ alebo hviezdička s číslom vpredu, napríklad „3*“. Šikovná vec, ktorá je veľmi podobná percentám a znamená, že priestor pre Rám rozdelíme proporcionálne.
Pozrime sa na príklad. Teraz sa rozhodnime rozdeliť zobrazovaciu oblasť na vodorovné riadky pomocou riadkov:
Čo znamená tento záznam? Celá zobrazovacia plocha, ktorú máme k dispozícii vertikálne, bude rozdelená do troch riadkov. Výška prvého bude meraná na 200 pixelov, druhá - na 500, ale tretí riadok bude zaberať všetok zostávajúci priestor na výšku, pretože Ako jeho veľkosť bola použitá „*“.
Je pozoruhodné, že hodnoty „*“ a „1*“ znamenajú to isté - všetok zostávajúci priestor rozdelíme do jedného a túto jednu časť pridelíme tomuto rámu (teda celý zostávajúci priestor).
Pozrite sa však, čo sa stane, ak použijete hodnotu „*“ s číslom na rozdelenie v pomere:
Aké budú podľa vás rozmery Frame v tomto prípade? Je jasné, že druhý riadok bude mať určite výšku 100 pixelov. Ako sa však rozdelí zvyšný priestor na výšku medzi tretí a prvý rad?
Je to celkom jednoduché vypočítať – stačí pridať štyri (4*) k dvom (2*) a vydeliť týmto menovateľom (pamätajte si zlomky zo školských osnov) dva a štyri. Tie. dostaneme, že prvý stĺpec s rámom zaberie na výšku jednu tretinu zostávajúceho priestoru a tretí stĺpec zaberie dve tretiny. Alebo inými slovami, tretia bude dvakrát vyššia ako prvá:
Môžete použiť všetky tri spôsoby veľkosti okien rámu v jednom atribúte, napríklad:
V dôsledku toho dostaneme prvý stĺpec Frame so šírkou desať percent celej dostupnej plochy, druhý - 100 pixelov a zvyšné tri budú mať šírku v pomere štyri, tri a dve deviatiny zostávajúci priestor na šírku. Takže všetko je jednoduché a jasné.
Ak chcete hlavné okno rozdeliť nielen na horizontálne a vertikálne rámy, ale napríklad aj na ich kombinácie, potom môžete použiť vnorenú štruktúru prvkov Frameset zvlášť pre stĺpce a zvlášť pre riadky. Napríklad, aby ste získali štruktúru zobrazenú na obrázku nižšie, stačí použiť nasledujúcu konštrukciu:
Tie. najprv použijeme „frameset cols=”20%,80%"“ na vertikálne rozdelenie všetkého dostupného priestoru do dvoch stĺpcov a obsah pravého stĺpca nastavíme značkou „frame“, ale namiesto pridania prvku „frame“ pre ľavý stĺpec otvoríme nový „riadky sady rámcov=“10%,*““.
A pomocou neho rozdelíme pravý stĺpec na dva riadky s rámami, ktorých obsah sa nastavuje pomocou dvoch tagov „frame“, potom oba kontajnery „frameset“ zatvoríme. Všetko je jednoduché a logické.
Zadajte cestu v atribúte Src prvku Frame
Všetci sme ale hovorili o prvku Frameset a jeho atribútoch Cols a Rows, pomocou ktorých tvoríme štruktúru a nastavujeme ich veľkosti. Teraz poďme zistiť, ako zobraziť potrebné dokumenty v požadovaných rámcoch a ako nakonfigurovať interakciu medzi ich oknami.
Ako teda môžeme ovládať vzhľad okien, ktoré vytvárame? Toto všetko je obsiahnuté v atribútoch značky Frame. Prvý, ktorý stojí za zmienku, je Src. Videli sme to už v tagu Img, keď sme sa pozreli na vkladanie obrázkov do Html kódu. Jeho podstata sa nezmenila a stále umožňuje určiť cestu k dokumentu, ktorý sa má načítať do rámca.
Cesta k dokumentu v Src môže byť špecifikovaná ako . Relatívne cesty sa zvyčajne používajú pre dokument, ktorý sa nachádza vo vašom vlastnom zdroji, ale ak chcete načítať dokument z inej lokality do okna rámca, budete potrebovať absolútne cesty.
Ak nie je zadaný atribút Src označujúci cestu k požadovanému dokumentu, do okna sa načíta prázdny dokument. Osobne som raz urobil podobnú vec pre svoj blog (ako doplnkový navigačný prvok) a zároveň som preň vytvoril samostatný priečinok na hostingovom serveri a umiestnil som tam nielen Html súbor s rámcovou štruktúrou (ktorý som nazval index .html), ale aj všetky načítané do rôznych okien dokumentov, ako aj obrázkových súborov, ktoré boli použité ako pozadie.
Preto bolo pre mňa najjednoduchšie použiť relatívne odkazy v atribúte Src značky Frame:
Pozoruhodné je, že ak nahradíte všetky odkazy uvedené v tomto kóde z relatívneho na absolútne (napríklad https://site/navigator/joomla.html) a otvoríte tento súbor v prehliadači, načítajú sa dokumenty špecifikované v Frame. z môjho servera a vo vašom prehliadači uvidíte podobný obrázok. Navyše nezáleží na tom, kde sa váš súbor s rámcovou štruktúrou (index.html) bude nachádzať – na vašom počítači alebo na hostingu.
V príklade znázornenom na obrázku sa do okna ľavého rámu načíta stránka s určitým menu, ktoré je bežným menu. Dôležité však nie je to, ako sa menu tvorí, ale čo sa stane po kliknutí na ktorýkoľvek z jeho odkazov.
Ak to urobíte, všetko sa stane presne tak, ako má - dokument sa otvorí v pravom dolnom okne. Na to som však musel použiť jeden malý trik, pretože v predvolenej verzii sa dokument otvoril na celú veľkosť okna a nahradila štruktúru rámu, ktorú som vôbec nepotreboval, pretože navigačné menu v ľavom a hornom ráme zmizol.
Ako otvárať dokumenty pomocou odkazu v rámci
Takže, keď sme hovorili o hypertextových odkazoch, spomenuli sme atribút značky „A“ ako Target=_blank. Pamätáte si, na čo slúži? Je správne otvoriť prepojený dokument v novom okne. V predvolenom nastavení by sa mal otvárať v rovnakom okne, ktoré je ekvivalentom target="_self".
Ale toto sú príležitosti Cieľ nie sú obmedzené. Ukazuje sa, že tomu môžete pridať hodnotu ako názov rámu, ktorý je vopred špecifikovaný v špeciálnom atribúte Name značky Frame. Potom sa dokument cez tento odkaz neotvorí v tom istom okne, ktoré zaberie celý priestor, ale vo vami zadanom ráme. To je jasné? Ak nie úplne, potom to bude jasné teraz, keď budeme analyzovať príklad.
Vráťme sa teda k nášmu príkladu znázornenému na obrázku vyššie. Stránky musíme otvárať pomocou odkazov z ľavého okna v pravom dolnom (veľkom) ráme. Preto najprv musíte tomuto veľkému oknu pomenovať pomocou atribútu Name v tagu Frame.
Vyrobili to a nazvali to „ktona“. Teraz môžete bezpečne otvoriť súbor, ktorý sa načíta ako ponuka v ľavom okne a pridať atribút Target="ktona" ku všetkým značkám A v ňom:
História Joomly a komponentu VirtueMart
Samozrejme, že pomocou nástroja na vyhľadávanie a nahradenie nebude ťažké umiestniť ho pre všetky hypertextové odkazy, ale načo zbytočne zaťažovať kód, keď máme skvelú príležitosť využiť špeciálna značka Base, ktorý sme už spomínali v tom istom článku o hypertextových odkazoch, keď sme hovorili o použití Target blank.
Stačí umiestniť element base target="ktona" medzi otvárací a zatvárací tag Head a všetky odkazy v ňom HTML kód tohto dokumentu otvorí nové stránky v určenom rámci s názvom "ktona":
Mimochodom, ak vezmeme ako príklad môj kedysi existujúci nástroj, potom sa ešte musíme uistiť, že všetky odkazy z horného horizontálneho okna otvárajú svoje stránky v ľavom vertikálnom ráme, ktorý slúži ako moje ľavé menu. Čo je pre to potrebné urobiť?
Najprv musíte pomenovať ľavý vertikálny rám:
A do súboru, ktorý sa načíta do horného okna (gor.html), musíte pridať element base target="gor":
To je všetko, teraz sme urobili všetko správne. Všetky dokumenty nasledujúce po odkazoch z horného rámca sa otvoria v ľavom okne a všetky odkazy z neho otvoria dokumenty v centrálnom a najväčšom rámci. Podľa mňa je všetko jednoduché a logické.
Atribúty značiek rámu na prispôsobenie vzhľadu okien
Pozrime sa teraz, aké atribúty okrem Src a Name možno použiť v značke Frame na prispôsobenie vzhľadu snímok. Začnime s Rolovanie. Pomocou neho môžeme nakonfigurovať zobrazenie posuvníkov pre každé okno vašej rámovej štruktúry samostatne.
Posúvanie má predvolenú hodnotu Automaticky – prehliadač sa na základe veľkosti dokumentu načítaného do rámca automaticky rozhodne, či sa má zobraziť posuvník alebo nie. Ak sa dokument úplne nezmestí do okna, zobrazí sa rolovacia lišta, ktorá vám umožní zobraziť ho celý až do konca.
Môžete tiež použiť hodnoty Yes (posúvacie lišty v okne budú vždy zobrazené, aj keď sa do nich dokument úplne zmestí) a Nie (posúvacie lišty sa nikdy nezobrazia, aj keď sa časť dokumentu nezmestí) ako hodnoty pre rolovanie.
V mojom kedysi existujúcom nástroji som použil predvolenú hodnotu Auto a posúvacie lišty v rámoch sa objavili podľa potreby:
Nasledujúci atribút značky Frame je Noresize- je slobodný (nemá žiadne hodnoty). Jeho registráciou tak zakážete meniť jeho veľkosť, čo sa štandardne vykonáva jednoduchým potiahnutím okraja rámčekov myšou.
Keď presuniete kurzor myši na okraj, uvidíte, že kurzor sa zmení na obojstrannú šípku a teraz kliknutím na ľavé tlačidlo myšou, môžete posúvať hranicu, ako chcete. Noresize zakazuje túto svojvôľu (keď presuniete kurzor myši na okraj okien, obojsmernú šípku už neuvidíte).
Ďalším vizuálnym atribútom je Frameborder. Pomocou nej môžete určiť, či sa má medzi rámčekmi kresliť rám (okraj) alebo nie. Rámec môže mať iba dve možné hodnoty - buď 0 (nekresliť rám) alebo 1 (zobraziť rám). Predvolená hodnota je samozrejme 1.
Je tu jedna jemnosť. Ak chcete odstrániť viditeľné orámovanie, budete musieť pridať Frameborder=0 do všetkých značiek Frame rámov, medzi ktorými chcete odstrániť viditeľné okraje.
Stále musíme zvážiť niekoľko atribútov značky Frame - Marginwidth a Marginheight, ktorý nastavuje výplň na šírku (vpravo a vľavo) a výšku (hore a dole) od okrajov okna po obsah, ktorý sa doň načíta (číslo znamená počet pixelov výplne):
Prečo nemôžete urobiť webovú stránku na rámoch?
Pozrime sa, v čom spočíva zásadná nevýhoda klasických štruktúr, ktorá v podstate ukončuje ich používanie pri tvorbe webstránky. Spočíva v tom, že podľa tejto štruktúry rámu nie je možné sledovať jej stav.
Komplexné štruktúry môžu mať tisíce rôznych stavov (varianty dokumentov otvorených v rôznych rámových oknách), ale URL adresa práve tejto štruktúry sa nemení. Z tohto dôvodu bude Nedajú sa použiť záložky prehliadača alebo posielajte odkazy na svoje obľúbené stránky iným používateľom. prečo?
Pretože adresa zostáva nezmenená, aj keď ju otvoríte zo záložiek prehliadača alebo z e-mailu Email, dostanete stránku s počiatočným stavom štruktúry rámca a nie stavom, ktorý by ste chceli uložiť.
Aj keď sa tento problém, samozrejme, dá vyriešiť, ale nie pomocou nástrojov HTML, ale pomocou serverových (napríklad Php) alebo klientskych programovacích jazykov (JavaScript) a tieto riešenia nebudú stopercentne efektívne. Takéto riešenia vám v skutočnosti umožňujú pridať ďalšie údaje o aktuálnom stave na adresu URL štruktúry rámca, ale nie je to ľahké a spoľahlivosť nebude absolútna.
Toto je prvá nevýhoda používania rámcov na vytváranie webových stránok a veľmi významná, no je tu ešte jedna obrovská nevýhoda. Vyhľadávače sa ich, samozrejme, už dávno naučili indexovať a extrahovať z nich adresy tých dokumentov, ktoré sa im načítajú do okien. Problém je iný.
Keď používateľ prejde z výsledkov vyhľadávania Yandex alebo Google na váš web vytvorený na základe rámcovej štruktúry, otvorí sa iba dokument, ktorý bol načítaný do jedného z rámcov, a nie celá štruktúra. Rozumieš, o čom hovorím?
Používateľ uvidí dokument a neuvidí navigáciu na vašom webe, pretože v ostatných oknách bude chránený a tie sa načítavajú len ako súčasť celej konštrukcie.
V dôsledku toho sa stránka postavená na rámoch jednoducho stane nepoužiteľnou. Aj keď opäť existujú riešenia tohto problému založené na serverových skriptoch, kedy sa bude vykonávať presmerovanie z adries jednotlivých dokumentov na rámcovú štruktúru, ktorá je v požadovanom stave, je to opäť veľmi náročné a nie vždy spoľahlivé.
Vo všeobecnosti možno záver vyvodiť jednoznačne - Nie je potrebné vytvárať webové stránky na rámoch. Neustále sa ale používajú na vytváranie pomocníkov pre rôzne aplikácie a môžu sa hodiť aj v iných drobnostiach.
Napríklad som vytvoril rámcovú štruktúru, ktorú som nazval „Navigátor“ (teraz bola dočasne odstránená) a ktorá sa stala akýmsi rozšíreným externým menu pre môj blog, čo by podľa mňa malo zjednodušiť prácu so zdrojom. a preto zlepšiť „žiadne nezmysly“ majú veľmi, veľmi silný vplyv na propagáciu stránky.
Aby sa však predišlo prípadným problémom s vyhľadávače, zatvoril som celú túto štruktúru rámca a pre každý prípad som pridal metaznačku Rodots do všetkých jej súborov Html, čím som zakázal ich indexovanie:
JOOMLA
Všetky tieto obmedzenia sa však vzťahujú iba na štruktúry na značkách Frame a Frameset a vložené rámce do značiek iframe nemajú žiadne viditeľné nedostatky a môžu a dokonca by mali byť použité na vašich projektoch, aspoň na vkladanie videí z YouTube.
Veľa šťastia! Uvidíme sa čoskoro na stránkach blogu
Mohlo by vás to zaujímať
Direktívy komentárov a Doctype v kóde Html, ako aj koncept blokových a vložených prvkov (tagov) Embed a object - Html tagy pre zobrazovanie mediálneho obsahu (video, flash, audio) na webových stránkach Img - Html tag na vloženie obrázka (Src), zarovnanie a obtekanie textu okolo neho (align), ako aj nastavenie pozadia (pozadia) Čo je hypertextový značkovací jazyk Html a ako zobraziť zoznam všetkých značiek vo validátore W3CSelect, Option, Textarea, Label, Fieldset, Legend - tags HTML formuláre rozbaľovacie zoznamy a textové pole Zoznamy v Html kóde - značky UL, OL, LI a DL Písmo (Tvár, Veľkosť a Farba), Blockquote a Pre tagy – staršie formátovanie textu čisté HTML(bez použitia CSS) Ako sa nastavujú farby v Html a CSS kóde, výber odtieňov RGB v tabuľkách, výstup Yandex a iné programy