Rßmy na webu

Rßm∙m se anglicky °φkß frames a dnes jsou neodmyslitelnou souΦßstφ webov²ch strßnek. V tomto textu se sna╛φm na p°φkladu znßzornit, jak to funguje, a objasnit zßkladnφ syntaxi.

Jak to vypadß - T°i soubory - P°φklad - Odkazy v rßmech - Zßludnosti - Jistota navigace

Jak to vypadß

Okno prohlφ╛eΦe je rozd∞leno na n∞kolik obdΘlnφkov²ch Φßstφ (rßm∙). V ka╛dΘm rßmu je (t°eba╛e to nemusφ b²t vid∞t) samostatnß HTML strßnka. Zpravidla je jeden z rßm∙ obsahem s odkazy, kterΘ se zobrazujφ v jinΘm, hlavnφm okn∞. NejΦast∞ji to vypadß n∞jak takhle:

 

Obsah:
odkaz
jin² odkaz
zase odkaz
Rßm s texty

sem ty odkazy z levΘho rßmu vedou

Text text: vid∞li jste mojφ strßnku o rΘbusech? (skrytß reklama)

Takov²ch rßm∙ m∙╛e b²t v okn∞ mnoho (prakticky neomezen∞), nejΦast∞ji se pou╛φvajφ dva nebo t°i. Mohou b²t vedle sebe i nad sebou, ale v╛dy to musφ b²t obdΘlnφky. (Zobrazte si p°φklad v prohlφ╛eΦi.)

Poznßmka o nejednotnosti:

Proto╛e se historicky definice rßm∙ vyvφjela dost chaoticky, ka╛d² prohlφ╛eΦ je zobrazuje pon∞kud po svΘm. Budu se sna╛it popsat jak²si standard.

T°i soubory

Jak to tedy ud∞lat: Je to jednoduchΘ, ale trochu t∞╛kΘ na pochopenφ. Vezmeme si p°edchozφ p°φklad se dv∞ma svisl²mi rßmy vedle sebe. Vyskytujφ se tu t°i soubory. 

  1. Jeden soubor je obsah levΘho rßmu, 
  2. druh² soubor je obsah pravΘho rßmu. To jsou zatφm ·pln∞ normßlnφ HTML strßnky. 
  3. A t°etφ (nad°azen²) soubor v sob∞ obsahuje definici toho, jak se ty rßmy do okna sestavφ. I to je HTML soubor, ale mφsto t∞la s textem strßnky (tagu <body>) obsahuje nastavenφ rßm∙ -- "frameset".

P°φklad

Do souboru priklad10.htm s definicφ rßm∙ jsem napsal tento k≤d:

<html>

<head>

<title>P°φklad s definicφ rßm∙</title>

</head>

 

<frameset cols="215,*">

<frame name="obsah" src="priklad9.htm">

<frame name="text" src="priklad8.htm">

</frameset>

</html>

 

Zßrove≥ jsem si vytvo°il soubory priklad8.htm a priklad9.htm. Zobrazte si p°φklad v prohlφ╛eΦi. Co znamenajφ jednotlivΘ tagy:

Frameset
zaΦφnß deklaraci rßm∙. Vlastn∞ nahrazuje tag <body>. Musφ mφt prßv∞ jeden atribut cols (sloupce), nebo rows (°ßdky).
Cols="215, *"
tento zßpis atributu znamenß, ╛e rßmy budou vedle sebe (budou to sloupce; u °ßdk∙ by mφsto "cols" bylo "rows"). Prvnφ rßm bude mφt ╣φ°ku 215 obrazovkov²ch bod∙, druh² bude ╣irok² tak, aby vyplnil zb²vajφcφ ╣φ°ku okna (to je ta hv∞zdiΦka). Je takΘ mo╛nΘ zadßvat procenta. Rßmy mohou b²t t°eba Φty°i (i t°i).
Frame
Po framesetu nßsleduje popis rßm∙, ka╛d² z nich je zastoupen tagem frame. Tento tag mφvß mnoho atribut∙, kterΘ vyjad°ujφ vlastnosti rßmu, zmi≥uji jen ty hlavnφ:
Name="obsah"
Atribut name u rßmu jej pojmenovßvß. V tomto p°φpad∞ se rßm jmenuje "obsah". To se pozd∞ji pou╛ije pro adresovßnφ odkaz∙. (Nap°. <a ... target="obsah"> bude odkaz p°epφnajφcφ do rßmu se jmΘnem "obsah".)
Src="priklad9.htm"
Atribut src u frame oznaΦuje HTML strßnku, kterß se na zaΦßtku naΦte do danΘho rßmu. V tomto p°φpad∞ to bude soubor priklad9.htm

Nakonec dodejme, ╛e namφsto tagu frame m∙╛e b²t dal╣φ (vno°en²) frameset, kter² op∞t rozd∞lφ rßm na n∞kolik men╣φch. Tφmto konΦφm popis jednoduchΘ v²stavby rßm∙, p°esto╛e problematika obsahuje je╣t∞ dal╣φ ╣peky.

Odkazy v rßmech

Jestli╛e mßm vytvo°enou rßmovou strukturu, mohu kter²koliv odkaz nasm∞rovat do libovolnΘho rßmu. Nynφ se budou hodit jmΘna rßm∙ (nadeklarovanß atributem name v tagu frame). V tagu A (odkaz) se pou╛ije nov² atribut target (cφl) rovn² jmΘnu cφlovΘho rßmu.

<a href="priklad8.htm" target="text">

Po kliknutφ na takov² odkaz se v rßmu jmΘnem "text" objevφ strßnka priklad8.htm.

JmΘna specißlnφch rßm∙

N∞kdy je pot°eba odkazovanou strßnku zobrazit v novΘm okn∞ nebo v celΘm prohlφ╛eΦi. Proto existujφ specißlnφ jmΘna rßm∙:

Zßkladnφ cφl (default target)

Mnoho strßnek, zejmΘna takovΘ, kterΘ fungujφ jako obsahy v levΘm rßmu, v╣echny svΘ odkazy posφlß do jinΘho rßmu. Aby se u ka╛dΘho odkazu nemusel nastavovat stßle stejn² cφl, m∙╛e se nastavit zßkladnφ cφlov² rßm, do kterΘho se budou p°epφnat odkazy na strßnce, pokud nebude stanoveno jinak. D∞lß se to tagem <base>, kter² se umφstφ do hlaviΦky strßnky:

<base target="jmΘno_zßkladnφho_rßmu">

Pou╛φvß se to zejmΘna u obsahu mal²ch rßm∙ se seznamem odkaz∙ (takovΘ ty levΘ prou╛ky).

Neexistujφcφ rßm

Pokud mß odkaz zamφ°it do rßmu, kter² neexistuje, otev°e se novΘ okno prohlφ╛eΦe a strßnka se zobrazφ v n∞m. Ale toto okno si podr╛φ jmΘno onoho neexistujφcφho rßmu, tak╛e p°φpadnΘ dal╣φ odkazy se stejn²m targetem se budou zobrazovat v tomto okn∞.

Zßludnosti

Problematika rßm∙ je velmi ╣irokß. Zatφm jsem nezmφnil, jak se definujφ okraje rßm∙, jejich prom∞nlivß velikost, zobrazenφ li╣t a podobnΘ ╣peky. U nich je problΘm ten, ╛e ka╛d² prohlφ╛eΦ (Netscape a Microsoft) vy╛aduje jinou deklaraci stejn²ch v∞cφ.

V poslednφ dob∞ mnoho webov²ch tv∙rc∙ (vΦetn∞ m∞) od rßm∙ upou╣tφ, proto╛e jsou pomalΘ, nevyzpytatelnΘ, graficky omezenΘ, ╣patn∞ se uklßdajφ, ovlßdajφ a tisknou. (Vizte podrobn² popis problΘm∙.)Ale hlavn∞, dß se bez nich obejφt!

┌pln∞ jinou (a mßlo pou╛φvanou) oblastφ je pou╛φvßnφ takzvan²ch inline frames (vlo╛en²ch rßm∙), kterΘ se dßvajφ do strßnky tagem <iframe>. Jsou mßlo podporovanΘ (pouze IE 4 a v²╣e) a jß s nimi nemßm jednoznaΦnΘ zku╣enosti.

Jistota navigace

Auto°i rßmovan²ch strßnek d∞lajφ zßkladnφ chybu, kdy╛ se domnφvajφ, ╛e ka╛d² u╛ivatel zaΦne Φφst strßnky v╛dycky z tΘ hlavnφ - rßmovanΘ. Existujφ toti╛ vyhledßvacφ stroje a roboti, kterΘ definice rßm∙ ignorujφ. U╛ivatel Altavisty tak obvykle zaΦφnß Φetbu na n∞kterΘ vno°enΘ strßnce webu, kterß rßmovanß nenφ. U nerßmovan²ch strßnek je zvykem uvßd∞t odkazy na p°φbuznΘ strßnky -- autor rßmovan²ch strßnek to opomφjφ v domn∞nφ, ╛e odkazy na sousednφ strßnky jsou v levΘm rßmu. Jenom╛e lev² rßm se cestou z Altavisty nezobrazφ!

Nejjednodu╣╣φm °e╣enφm je umφstit na ka╛dou strßnku odkaz na tu hlavnφ.

Dal╣φ: Detaily rßm∙, ProΦ nepou╛φvat rßmy
Vizte tΘ╛: sprßva soubor∙, zdokonalenφ odkaz∙, design pomocφ tabulek, Barvenφ rolovacφ li╣ty, Iframe, rychlost strßnek

Pφ╣e Yuh∙
dusan@pc-slany.cz
mail formulß°em
Jak psßt web O tvorb∞, ·dr╛b∞ a zlep╣ovßnφ internetov²ch strßnek.

Zßklady HTML CSS FrontPage Hledßnφ

Obsah

Hlavnφ strßnka

Novinky

FAQ

Download

Zdroje

Hledßnφ


Roz╣φ°enΘ

Zßkladnφ kurs

Jak ud∞lat strßnku

Zßklady HTML

Publikovßnφ

Zßsady psanφ

Editory

R∙znΘ prohlφ╛eΦe

Editory

FrontPage 2000

FP Editor 98

Word 97

FrontPage Express

HTML tipy

P°φprava obrßzk∙

Obrßzky

Pozadφ

Odkazy

Vychytßvky odkaz∙

Zßlo╛ky

Aktivnφ mail

Tabulky

┌prava tabulek

Novinky tabulek

Design tabulkami

Rßmy

Formßtovßnφ rßm∙

Rßmy nepou╛φvat

Iframe

Formulß°e

Formulß°e v HTML

DokonalΘ formulß°e

Zßpis barev

Definice

Formßtovacφ chyby

Jak ud∞lat levΘ menu

Vyt∞╛ovßnφ strßnek

Provoz webu

Rychlost strßnek

VzdßlenΘ slu╛by

VyhledßvaΦe

Katalogy

Sprßva soubor∙

Ikona strßnky

Obsah / forma

╚e╣tina

Chyby Φe╣tiny

Tabulky k≤dovßnφ

Meta tagy

Nastavenφ serveru

Programovßnφ strßnek

ZaΦßtky PHP

Mo╛nosti PHP

Pou╛φvßnφ prohlφ╛eΦe

CSS styly

CSS styly

┌vod do CSS

Struktura textu

CSS prakticky

P╪EHLED VLASTNOST═ CSS

Slo╛it∞j╣φ deklarace

DΘlkovΘ jednotky

Pozicovßnφ

Sloupce pozicovßnφm

Okraje objekt∙

Odli╣enφ prohlφ╛eΦ∙

Omezenφ CSS

Odli╣n² tisk

DynamickΘ HTML

Filtry

P°φklady filtr∙

R∙znΘ barvy odkaz∙

Barva rolovacφ li╣ty

 


Jak psßt web: http://dusan.pc-slany.cz/internet/

Pφ╣e Yuh∙: autorova strßnka, mail: dusan@pc-slany.cz

Poslednφ aktualizace 08.12.2001