Keretek használata


A keretek vagy más néven frame-ek használatára gyakran nagy szükségünk van egy honlap készítésénél. Ezekkel ugyanis elérhető, hogy a böngésző ugyanazon ablakának más-más részein eltérő események történhessenek egy időben. Ezek szerint a keretek alkalmasak arra, hogy egyazon időben több HTML fájlt is beolvassunk a böngésző ablakába. Ezek a fájlok egymástól eltérő, önálló oldalak, egymástól függetlenül görgethetők, de tartható köztük linkkapcsolat.
Elvileg már nagyon ritka az olyan felhasználó, aki még frame-eket nem ismerő böngészőt használ. Mégis érdemes ezt is figyelembe vennünk, amikor kereteket helyezünk el az oldalainkon. Emellett arra is ügyelnünk kell, hogy nem minden látogató használja ugyanazt a felbontást, mint mi. Persze mindkét problémára szolgáltat megfelelő megoldást a HTML nyelv.
A kereteket a <FRAMESET> tag vezeti be és a </FRAMESET> zárja le. Ezeket az utasításokat azonban nem a <BODY > tag után, azaz a dokumentumtörzsben kell megadnunk, hanem közvetlenül a <HEAD>...</HEAD> blokk után. Tulajdonképpen egy keretutasítást hordozó fájlnak nem is lehet <BODY> része, hiszen nem az töltődik be.
A <FRAMESET> utasítás rengeteg hasznos opcióval rendelkezik, melyek a következők:


   COLS="százalék/pixel,százalék/pixel,..." - A képernyőt osztó oszlopok szélességét adja meg a böngészőablak szélességének százalékában vagy pixelben. Az első esetben más felbontás esetén is megmaradnak a keretek egymáshoz viszonyított arányai.
   ROWS="százalék/pixel,százalék/pixel,..." - A keretek szélességét adja a böngészőablak szélességének százalékában vagy pixelben az ablak sorokra osztása esetén.
   FRAMEBORDER="vastagság" - A kereteket határoló vonal vastagságát adja meg pixelben.
   FRAMESPACING="szélesség" - A frame-ek közötti üres sáv szélességét határozza meg pixelben.
   BORDER="vastagság" - A keretet határoló vonal vastagságát adja meg, független a FRAMEBORDERtől.
   BORDERCOLOR="#színkód" - A már említett vonal színét adja meg hexadecimális alakban vagy a szín angol nevével (nem ismeri minden böngésző).


Amikor a <FRAMESET> COLS vagy ROWS tulajdonságait szerkesztjük, meg kell adnunk az egyes keretek szélességét. Már láttuk, hogy ezt a böngészőablak szélességének százalékában vagy pixelben tehetjük. Viszont például két keret esetén csak az első szélességét kell beírnunk, a másodikét csillaggal jelezhetjük (amennyi az ablak szélességéből maradt). (Lásd a példát!) Természetesen lehetséges a <FRAMESET> tagek egymásba ágyazása.
A FRAMEBORDER értékei pozitív egész számok és a "no" lehet. A FRAMESPACING értékei 0 és a pozitív egészek lehetnek.
Miután a keretek alaptulajdonságait megadtuk, a frame-ekbe betöltendő oldalakat is be kell állítanunk. Ezt a <FRAME> utasítással tehetjük, melynek nincs zárópárja. Kötelező opciói a NAME="frame azonosító" és az SRC="elérési út/fájlnév.htm". Az előbbivel az adott keretet azonosíthatjuk, amelyre a linkek normális működéséhez van szükségünk. Az utóbbi pedig a keretbe töltendő fájl helyét adja meg. A <FRAME> parancs további opciói:


   SCROLLING="yes/no/auto" - A keret görgethetőségét állítja be.
   RESIZABLE - A frame átméretezhetőségét adja meg. (Alapértelmezett tulajdonság.)
   NORESIZE - Az előző parancs ellentéte.
   TOPMARGIN="szélesség" - A keretbe betöltött oldal felső margóját szerkeszti pixelben.
   LEFTMARGIN="szélesség" - Az előzőhöz hasonló, de itt a bal oldali margó adható meg, szintén pixelben.
   BORDERCOLOR="#színkód" - A keretet határoló vonal színét adja meg hexadecimális alakban vagy a szín angol nevével (nem ismeri minden böngésző).


Ha már végeztünk az összes keretformázással, ne felejtsük el lezárni a <FRAMESET> utasítást. Ezután belekezdhetünk még egy <BODY> blokkba a háttér miatt, de ez csak akkor jelenik meg a böngészőben, ha az a keretekkel nem tud mit kezdeni. Egyébként létezik még egy frame-ekhez kötődő tag, mégpedig a <NOFRAMES>. Ez adja meg a frame-eket nem támogató programoknak, hogy mit írjanak ki keretutasítások esetén. Ez persze sohasem lehet egy önálló oldal. A tag zárópárja a </NOFRAMES>.


<html>
  <head>
    <title>Keretek használata - Példa</title>

  </head>

<frameset rows="20%,40%,*" frameborder="2" framespacing="10">
   <frame name="frame_1" src="lesson08.htm" scrolling="no" noresize>
   <frame name="frame_2" src="lesson08.htm" scrolling="auto">
   <frameset cols="35%,*" frameborder="6" framespacing="5">
     <frame name="frame_3" src="lesson08.htm" scrolling="no">
     <frame name="frame_4" src="lesson08.htm" scrolling="auto">
   </frameset>
</frameset>
<noframes>
<h2 align="center">
Sajnos az Ön böngészője nem támogatja a kereteket.
</h2>
</noframes>

<body bgcolor="black" text="lightyellow" link="lightblue" vlink="lightgreen" alink="red">

</body>
</html>



 Példadokumentum 
 Következő fejezet 
 Vissza az előző oldalra 
 Vissza a főoldalra