FRAMES (Delade fönster)

  Introduktion

Det har ju blivit mycket populärt att dela in websidorna i olika fönster. Därmed kan man alltid ha kvar en länkmeny, eller motsvarande, på skärmen. Varje fönster på skärmen består vid en sådan delning av ett eget dokument. En "hemsida" kan alltså bestå av ett flertal sidor.

För att dela in skärmen använder man sig av taggen FRAMESET. Varje delning, antingen i rader eller i kolumner, beskrivs i denna tag. Man måste sedan tala om vad sidan heter. Det gör man i FRAME-taggen. Dessa taggar skriver man för ovanlighetens skull efter HEAD-, men innan BODY-taggen. Detta för att vissa webläsare inte kan hantera frames och de har därmed kvar sin BODY-tag. Den skall man dock sätta inom en NOFRAMES-tag, för att inte dokumentet skall misstolkas av frameskompatibla webläsare. Det som står inom NOFRAMES-taggen är alltså det som syns i fönstret om webläsaren inte kan hantera frames.

NOFRAMES-taggen "bör", enligt alla regler, omslutas av den sista FRAMESET-sluttaggen.

<HTML>
<HEAD>
<TITLE></TITLE>
</HEAD>

<FRAMESET...>
    <FRAME...>
    <FRAME...>

<NOFRAMES>
<BODY>
Eftersom din webläsare inte kan hantera frames<BR>
så får du hoppa till min <A HREF="meny.htm">huvudmeny</A> direkt.
</BODY>
</NOFRAMES>

</FRAMESET>

</HTML>



  Enkel delning

Vill man dela fönstret en gång i kolumner, för att exempelvis ha en länkmeny på vänsterkanten, då skriver man så här:

<FRAMESET COLS="150,*">
    <FRAME SRC="links.htm" NAME="left">
    <FRAME SRC="main.htm" NAME="right">
</FRAMESET>


Nu blir alltså fönstret delat i kolumner (COLS), där den vänstra kolumnen är 150 punkter bred, och den högra fyller ut resten (skrivs med asterix *) av skärmbilden. Vill man dela i rader så skriver man således ROWS istället. Det går även att använda sig av procenttal för att dela av fönstren ex: "10%,80%,10%". Det brukar dock vara bra att ha en länkmeny i en fast storlek. Observera att man måste ange namn på alla fönster. Detta för att man skall kunna styra sina länkar till rätt fönster. Om man trycker på en länk i länkfönstret så vill man kanske att den länken skall öppnas i huvudfönstret och inte i länkfönstret som hade varit standard. Mer om detta senare.



  Dela på flera håll

Vill man dela in sitt dokument i tre fönster. En rad uppe över hela, en länkmeny till vänster och ett huvudfönster, så får man lägga till ännu ett "FRAMESET".

<FRAMESET ROWS="80,*">

    <FRAME SRC="top.htm" NAME="top">

    <FRAMESET COLS="150,*">
        <FRAME SRC="links.htm" NAME="left">
        <FRAME SRC="main.htm" NAME="right">
    </FRAMESET>

</FRAMESET>



Ytterligare ett exempel:

<FRAMESET ROWS="80,*,50">

    <FRAMESET COLS="120,*">
        <FRAME SRC="topleft.htm" NAME="topleft">
        <FRAME SRC="topright.htm" NAME="topright">
    </FRAMESET>

    <FRAMESET COLS="100,*,100">
        <FRAME SRC="left.htm" NAME="left">
        <FRAME SRC="main.htm" NAME="main">
        <FRAME SRC="right.htm" NAME="right">
    </FRAMESET>

    <FRAME SRC="bottom.htm" NAME="bottom">

</FRAMESET>





  Andra attribut

Som vanligt finns det en massa attribut att ställa in om man vill vara säker på att det skall se bra ut i de olika webläsarna. I frameset-taggen ställer man in om man vill ha ramar runt sina fönster eller om det skall vara mellanrum mellan fönstren. Alla värden är i punkter eller "yes","no".

<FRAMESET COLS="120,*" BORDER="0" FRAMEBORDER="no" FRAMESPACING="0">

I frame-taggen ställer man sedan in om man vill ha några yttermarginaler (i punkter) på sina delsidor, om de skall ha rullningslister (yes, no, auto) när det behövs och om det skall vara möjligt att ändra dess storlek. Resize är standard om det finns ramar runt fönstren. Noresize om det inte finns ramar.

<FRAME SRC="main.htm" NAME="main" MARGINHEIGHT="0" MARGINWIDTH="10" SCROLLING="auto" NORESIZE>

Tänk på att texten måste få plats i fönstret vid olika skärmupplösningar, om du har satt scrolling="no". Det bör man inte göra om man använder procentsatser i framedelningen. Men det är dock bra när man t.ex. lägger in en logo i ett fönster med fast bredd eller höjd.



  Länka mellan fönstren

För att det dokument man vill öppna skall öppnas på rätt plats bland sina delade fönster så angav man ju ett namn på varje. Namnet använder man sedan i sin länk, tillsammans med TARGET-taggen, för att styra det berörda dokument till rätt plats. Använder man inte target så öppnas alltid dokumentet i det fönster där länken fanns.

<A HREF="sida.htm" TARGET="fönsternamn">öppna sidan</A>

Om länken skall öppnas i det fönster där länken finns så är det bättre om man inte anger någon target. Därmed fungerar länkarna på ett riktigt sätt även om någon "kör" i noframes-läge.

Det finns vissa standard-target som man måste eller åtminstone bör använda sig av. Några av dessa togs upp under länkavsnittet. Vill man komma ur framesläget, alltså öppna en annan sida helt utan frames, så kan man använda sig av två olika targetvärden:

Target="_top" eller Target="_parent"

Den första tar bort alla frames från skärmen och öppnar dokumentet. Det är den som är vanligast. Den andra går upp en nivå i framehierarkin och öppnar sedan dokumentet, vilket betyder samma sak för det mesta. Men om man öppnar ett framesdokument i en frameruta och sedan vill öppna ett annat noframesdokument i samma frameruta från detta dokument så fungerar bara denna. (Ni hängde väl med?)

Vidare finns det Target="_blank" och Target="_self". Blank öppnar ett nytt webläsarfönster för det länkade dokumentet. Self betyder helt enkelt att sidan skall öppnas i samma ruta som länken är i. Alltså det som redan är standard.

Kom ihåg att länka med Target="_top" om du har externa länkar på din sida. Det ser ju inte så snyggt ut om t.ex. Microsofts sidor öppas inne i din frame. Det kan även vara "lite" störande för den som surfar.


Copyright © Tommy Ullberg 1997-2000