Okna (frames) Vixova prirucka webelopera

Okna (frames) ponukaju mechanizmus na "rozdelenie" dokumentu na viacero okien, ktore su zobrazene sucasne. To vyuzijete napriklad pri zobrazovani menu zaroven s aktualnym dokumentom. Aj tato stranka vyuziva okna.

V dalsom texte sa vyskytne pojem "rodicovske (nadradene) okno". O co ide? Kazde okno, ktore sa rozdeli na dalsie okna, sa pre ne stava rodicovskym oknom. V pripade, ze na jednotlive okna rozdelujete dokument, je pre tieto okna rodicovskym oknom cele "okno prehliadaca" - priestor, v ktorom sa zobrazuje normalna stranka. Ked chcete do okna nahrat nejaky dokument (napr. pri kliknuti na linku - <A>, pouzijete meno okna, ale v pripade potreby mozete pouzit aj oznacenie pre rodicovske okno ("_parent") alebo cely priestor prehliadaca, ktory je v skutocnosti tiez iba okno - so specialnym menom "_top".

Pri pouzivani okien treba mat na pamati, ze prikaz <FRAMESET> nahradza prikaz <BODY> a preto tento nevystupuje v uvedenych prikladoch. Dajte pozor aj na to, aby ste umoznili prezeranie Vasej stranky aj prehliadacom, ktore okna nepodporuju a uvedte nahradny obsah stranky (napr. linky na jednotlive okna) v prikaze <NOFRAMES>.

Poznamka webmastra: pouzivajte FRAMEs len vtedy, ak je to bezpodmienecne nutne. Mnoho dokumentov s oknami sa da nahradit tabulkami. Pouzitie FRAMEs prinasa mnozstvo problemov, najma preto, ze ich kazdy prehliadac interpretuje inak a v textovych prehliadacoch je velmi problematicke zobrazit obsah niekolkych okien (prve lastovicky, ktore to dokazu, su links a w3m).

Frames: vytvorenie struktury okien (mnemo: Frameset)
PrikazKompat./Pozn.
FRAMESET IE 3+, Netscape 3+, Mozilla, Opera
Kontext: <HTML>
  <FRAMESET>
    ...definicia obsahu okna...
  </FRAMESET>

</HTML>

Vytvori strukturu okien dokumentu. Pomocou parametrov ROWS a COLS sa okno rozdeli na horizontalne okna - "riadky" resp. vertikalne okna - "stlpce", pripadne siet okien, ak su specifikovane oba. Okna sa vytvaraju zlava doprava a zhora nadol (ak su specifikovane ROWS aj COLS sucasne, vytvaraju sa postupne zlava doprava v jednotlivych "riadkoch". Pocet okien je rovny poctu hodnot v jednotlivych parametroch. Kazde okno ma specifikovanu velkost a bude sluzit na umiestnenie jedneho dokumentu.
Ak sa prikaz pouzije vnorene, mozno rozdelit jednotlive okna na dalsie casti (pozri Priklad 4).

Obsah okna sa urcuje prikazom <FRAME>.

ParametreHodnotyDefaultKompat./Pozn.
COLS = ("velkost" | "velkost_p" | "*"), ("velkost" | "velkost_p" | "*"), ... 100% -
ROWS = ("velkost" | "velkost_p" | "*"), ("velkost" | "velkost_p" | "*"), ... 100% -
COLS=
  • velkost_p - urci sirku okna v bodoch alebo v percentach sirky stranky alebo rodicovskeho okna
  • * - urci sirku okna tak, aby zaplnilo zvysny priestor na stranke alebo v rodicovskom okne
ROWS=
  • velkost_p - urci vysku okna v bodoch alebo percentach vysky stranky alebo rodicovskeho okna
  • * - urci vysku okna tak, aby zaplnilo zvysny priestor na stranke alebo v rodicovskom okne
Priklady
Priklad 1 (dve horizontalne okna s velkostami 100 a "zvysok" bodov):
  <HTML>
  <HEAD><TITLE>Moja stranka</TITLE></HEAD>
    <FRAMESET ROWS="100,*">
      ...zvysok definicie frames...
      <NOFRAMES>
        ... alternativny obsah ...
      </NOFRAMES>
    </FRAMESET>
  </HTML>
Priklad 2 (tri vertikalne okna s velkostami 25%, 50% a "zvysok" bodov):
  <HTML>
  <HEAD><TITLE>Moja stranka</TITLE></HEAD>
    <FRAMESET COLS="25%,50%,*">
      ... zvysok definicie frames...
      <NOFRAMES>
        ... alternativny obsah ...
      </NOFRAMES>
    </FRAMESET>
  </HTML>
Priklad 3 (siet troch vertikalnych a troch horizontalnych okien (spolu 9) s velkostami 1/3 * 1/3 stranky):
  <HTML>
  <HEAD><TITLE>Moja stranka</TITLE></HEAD>
    <FRAMESET COLS="33%,33%,*" ROWS="33%,33%,*">
    ...zvysok definicie frames...
      <NOFRAMES>
        ... alternativny obsah ...
      </NOFRAMES>
    </FRAMESET>
  </HTML>
Priklad 4 (vnorene pouzitie frames: rozdelenie na dve horizontalne okna a rozdelenie spodneho na dve rovnako velke vertikalne okna):
  <HTML>
  <HEAD><TITLE>Moja stranka</TITLE></HEAD>
    <FRAMESET ROWS="150,*">
      <FRAME SRC="title.html" NAME="title">
      <FRAMESET COLS="50%,50%">
        <FRAME SRC="menu.html" NAME="menu">
        <FRAME SRC="main.html" NAME="main">
      </FRAMESET>
      <NOFRAMES> ... alternativny obsah ... </NOFRAMES>
    </FRAMESET>
  </HTML>
Poznamky
  • tento prikaz nahradza prikaz <BODY>!
  • ak prehliadac nepodporuje frames, zobrazi telo prikazu <NOFRAMES>

Frames: nahradny obsah stranky (mnemo: No frames)
PrikazKompat./Pozn.
NOFRAMES vsetky prehliadace
Kontext: <HTML>
  <FRAMESET>
    <NOFRAMES>
      ...nahradny obsah stranky...
    </NOFRAMES>

  </FRAMESET>
</HTML>

Obsahuje nahradny obsah stranky pre prehliadace nepodporujuce frames.

ParametreHodnotyDefaultKompat./Pozn.
ziadne     -
 
Priklady
Priklad (dve horizontalne okna s velkostami 100 a "zvysok" bodov):
  <HTML>
  <HEAD><TITLE>Moja stranka</TITLE></HEAD>
    <FRAMESET ROWS="100,*">
      ... zvysok definicie frames...
    <NOFRAMES>
      Tato stranka obsahuje frames, ktore Vas prehliadac nepozna.
      Aj tak si vsak mozete pozriet <A HREF="main.html">moju stranku</A>
    </NOFRAMES>
  </FRAMESET>
  </HTML>
Poznamky
Poznamky:

Frames: urcenie obsahu okna (mnemo: Frame)
PrikazKompat./Pozn.
FRAME IE 3+, Netscape 3+, Mozilla, Opera
Kontext: <HTML>
  <FRAMESET>
    <FRAME>
  </FRAMESET>
</HTML>

Urci dokument, ktory sa nahra ako obsah okna pri zobrazeni stranky. Poradie prikazov <FRAME> koresponduje s poradim velkosti okien, ktore ste specifikovali v prikaze <FRAMESET> (prva velkost okna patri k prvemu prikazu <FRAME> atd.)

Pomocou parametrov mozeme urcit sposob zobrazovania jednotlivych okien.

ParametreHodnotyDefaultKompat./Pozn.
SRC = "uri"
POVINNY
-
NAME = "text"
POVINNY
-
FRAMEBORDER = ("1" | "0") 1 -
SCROLLING = ("yes" | "no" | "auto") auto -
NORESIZE     -
MARGINHEIGHT = "velkost" - -
MARGINWIDTH = "velkost" - -
SRC=
  • uri - urcuje adresu alebo cestu k dokumentu, ktory sa pri zobrazeni stranky objavi v danom okne
NAME=
  • text - jednoznacne identifikuje okno v ramci dokumentu. Sluzi na urcenie cieloveho okna pri pouziti parametra TARGET prikazu <A>.
FRAMEBORDER=
  • 0 - vypne oramovanie okolo okna
  • 1 - zapne oramovanie okolo okna
SCROLLING=
  • yes - urcuje, ze okno vzdy bude mat "scrollbar" (posuvaciu listu)
  • no - urcuje, ze okno nikdy nebude mat "scrollbar" (posuvaciu listu). Ak bude dokument sirsi alebo dlhsi ako je velkost okna, nebude mozne ho pri prehliadani v okne posunut.
  • auto - urcuje, ze okno vzdy bude mat "scrollbar" (posuvaciu listu) v pripade potreby (ak velkost dokumentu presahuje velkost okna). Toto je defaultna hodnota.
NORESIZE
  • prepinac; ak ho uvedieme, velkost okna sa nebude dat menit mysou (potiahnutim za hranicu okna). Defaultna hodnota zmenu velkosti umoznuje.
MARGINHEIGHT=
  • velkost - urcuje, kolko bodov sa ma vynechat medzi obsahom okna a hornym resp. dolnym okrajom okna
MARGINWIDTH=
  • velkost - urcuje, kolko bodov sa ma vynechat medzi obsahom okna a lavym resp. pravym okrajom okna
Priklady
Priklad (prve okno s menitelnou velkostou a bez scrolbaru, druhe so scrolbarom s pevnou velkostou):
  <HTML>
  <HEAD><TITLE>Moja stranka</TITLE></HEAD>
    <FRAMESET ROWS="100,*">
      <FRAME SRC="menu.html" SCROLLING="no" NAME="Menu">
      <FRAME SRC="main.html" NORESIZE SCROLLING="yes" NAME="Main">
    <NOFRAMES>Tento dokument obsahuje frames</NOFRAMES>
    </FRAMESET>
  </HTML>
Poznamky
 

Frames: priame vlozenie okna do dokumentu (mnemo: Inline FRAME)
PrikazKompat./Pozn.
IFRAME IE 4+, Netscape 4+, Mozilla M15+
Kontext: <HTML>
  <BODY>
    <IFRAME>
      ...alternativny obsah...
    </IFRAME>

  </BODY>
</HTML>

Vlozi do dokumentu iny dokument ako nove okno. Princip je podobny ako pri pouziti prikazu <FRAME>, ale novy dokument sa vlozi priamo do dokumentu ako objekt. To sa v praxi vyuziva najma na reklamne bannery. Velkost okna a ostatne parametre sa urcuju pomocou parametrov prikazu.

Vlozene okno nemoze menit svoju velkost - neexistuje parameter NORESIZE.

Obsah tela prikazu sa vypise iba v prehliadacoch, ktore nepodporuju okna.

ParametreHodnotyDefaultKompat./Pozn.
SRC = "uri"
POVINNY
-
NAME = "text"
POVINNY
-
WIDTH = "velkost_p" - -
HEIGHT = "velkost_p" - Mozilla M15 nepovoluje percentualne velkosti
FRAMEBORDER = ("1" | "0") 1 -
SCROLLING = ("yes" | "no" | "auto") auto -
MARGINHEIGHT = "velkost" - -
MARGINWIDTH = "velkost" - -
SRC=
  • uri - urcuje adresu alebo cestu k dokumentu, ktory sa pri zobrazeni stranky objavi v danom okne
NAME=
  • text - jednoznacne identifikuje okno v ramci dokumentu. Sluzi na urcenie cieloveho okna pri pouziti parametra TARGET prikazu <A>.
WIDTH=
  • velkost_p - urcuje sirku vlozeneho okna v bodoch alebo percentach sirky stranky.
HEIGHT=
  • velkost_p - urcuje vysku vlozeneho okna v bodoch alebo percentach vysky stranky.
FRAMEBORDER=
  • 0 - vypne oramovanie okolo okna
  • 1 - zapne oramovanie okolo okna
SCROLLING=
  • yes - urcuje, ze okno vzdy bude mat "scrollbar" (posuvaciu listu)
  • no - urcuje, ze okno nikdy nebude mat "scrollbar" (posuvaciu listu). Ak bude dokument sirsi alebo dlhsi ako je velkost okna, nebude mozne ho pri prehliadani v okne posunut.
  • auto - urcuje, ze okno vzdy bude mat "scrollbar" (posuvaciu listu) v pripade potreby (ak velkost dokumentu presahuje velkost okna). Toto je defaultna hodnota.
MARGINHEIGHT=
  • velkost - urcuje, kolko bodov sa ma vynechat medzi obsahom okna a hornym resp. dolnym okrajom okna
MARGINWIDTH=
  • velkost - urcuje, kolko bodov sa ma vynechat medzi obsahom okna a lavym resp. pravym okrajom okna
Priklady
  <HTML>
  <HEAD><TITLE>Moja stranka</TITLE></HEAD>
  <BODY>
    ... obsah stranky
    <IFRAME SRC="banner.html" SCROLLING="no" NAME="banner">
      Navstivte mojho sponzora: <A HREF="http://www.nejakysponzor.sk">
    Sponzor</A>
    </IFRAME>
    </BODY>
  </HTML>
Poznamky
 



Predchadzajuca tema:Pribuzne temy:Nasledujuca tema:
Tabulky Sprievodca vytvaranim stranky krok za krokom
Abecedny zoznam prikazov HTML
Formulare