Keretek létrehozása

Mint a bevezetőbeli példán is látható volt, a keretek definiálását végző HTML dokumentum (a továbbiakban keretdokumentum) tartalma jelentősen eltér a szokásos weboldalak tartalmától.

Elsőre észrevehető, hogy nincsen benne BODY elem, helyette egy FRAMESET elem található.

Ez a FRAMESET elem írja le a keretdokumentum szerkezetét, vagyis azt, hogy az egyes belső ablakok a dokumentum ablakának melyik részét foglalják el. Ezen felül az elem tartalmazhat egy NOFRAMES elemet is, amely annak a böngészőnek szól, amely nem képes a keretek megjelenítésére: az ilyen böngsző az ebben megadott elemeket fogja a keretek helyett megjeleníteni.

Nem csak a régi, elavult böngészőkkel fordulhat elő, hogy nem képesek a kereket megjelenítésére. Amennyiben nem grafikus, hanem karakteres böngészőt használunk, mint amilyen a lynx is, akkor az szintén nem jeleníti meg a kereteket, azonban elképzelhető, hogy minden keretet egy-egy hivatkozással tesz elérhetővé. Másrészt azonban a keretek megjelenítésére alkalmas böngészőkben is elképzelhető, hogy a felhasználó letilthatja a keretek megjelenítését valamilyen ok miatt. Ekkor a böngészőnek szintén úgy kell viselkednie, mint ami nem képes a keretek megjelenítésére.

A FRAMESET elem gyakorlatilag azt a rácsozatot definiálja, amelynek a belsejében a keretek elhelyezkednek. Ezt olyan módon teszi, hogy a rács sorainak – rows paraméter – magasságát felülről lefelé felsorolva, illetve a rács oszlopainak – cols paranéter – szélességét balról jobbra haladva felsorolva beállítjuk. Az így keletkezett rács belsejében található minden egyes téglalap számára azután a FRAME elemmel egy-egy tartalmat kell definiálni, amely egy önálló weboldal vagy más erőforrás lesz.

A fent említett mindkét paraméter értéke úgynevezett multilength-lista lesz, ami azt jelenti, hogy vesszővel elválasztva felsorolhatunk relatív/abszolút hosszértéket, vagy aránymeghatározókat. Ez utóbbi a következőképpen néz ki: egy számjegy és utána a * (csillag) karakter. Jelentése pedig a következő: az összes aránymeghatározóként megadott szélesség/magasság számára a többi kiosztása után fennmaradó helyet fel kell osztani a megadott számértékek összegével azonos számú egységre, majd ebből minden oszlop/sor annyi egységet kap, amennyi a számértéke.

Tehát például ha a következőt adjuk meg a rows paraméter értékeként: "1*, 3*, 100", akkor a rendelkezésre álló ablakmagasságból a legalsó sor kap 100 pixelnyi helyet. Az ezután fennmaradó részt 1+3= 4 egyenlő részre kell osztani, amiből 1 részt kap a legfelső sor, három részt a második sor.

Általában a fix szélességű oszlopok/sorok mellett érdemes legalább egy multilength értékkel megadott oszlopot/sort is megadni, amely így a maradék helyet lenyelheti, lehetővé téve a böngészőablak átméretezésétől való függetlenséget.

A cols és a rows paraméterek szerepelhetnek egyszerre és külön-külön is, attól függően, hogy hogyan akarjuk felosztani a rendelkezésre álló helyet a keretek között. Ha egy sorban egy keretet, míg egy másikban két keretet akarunk elhelyezni, akkor először osszuk sorokra az ablakot, majd a második sor tartalmának megjatározására a FRAME elem helyett használjunk egy újabb FRAMESET elemet, amelyben ezt a sort két oszlopra osztjuk, majd a két oszlop tartalmát adó kereteket ezen belül definiálhatjuk két FRAME elemmel.

A FRAME elemek sorrendje egy adott FRAMESET elemen belül mindig a rácsban felülről lefelé, és azon belül soronként balról jobbra halad, vagyis ebben a sorrendben határozzák meg a kereteket.

Minden egyes keretnek adható egy név a name paraméterrel, amelyen keresztül később hivatkozni lehet majd rá, valamint megadható annak a dokumentumnak a címe, amelyet be kell tölteni a keretbe. Ha ez utóbbi nem szerepel, akkor a keret üres marad, és csak ha később valamely hivatkozás a target paraméter segítségével ezt célozza meg, akkor töltődik be tartalom.

A FRAME elem további paraméterei azt szabályozzák, hogy jelenjen-e meg a keret szélén elválasztó vonal, az milyen széles legyen, legyen-e gördíthető egy gördítősávval az oldal, amely a keretben megjelenik, valamint, hogy átméretezhető-e az elválasztó sáv megfogásával a keret. Az ezek beállítását végő paraméterek az elem leírásánál megtalálhatók.

Lehetőség van az OBJECT elem segítségével arra is, hogy adatokat osszunk meg az egyes keretek között. Erre a HEAD elemen belül elhelyezett OBJECT elemekkel van lehetőségünk, ha beállítjuk az id paraméterüket, amely értékre azután valamennyi keretben elhelyezett dokumentumból lehet hivatkozni.