Oviljan att ta med FRAMES var att den stred mot HTML-regler. Dessa regler säger att ett HTML-dokument endast kan bestå av två element, ett huvudelement (HEAD) och ett efterföljande kroppsdel (BODY). Denna struktur var inte möjlig med FRAMES eftersom det innebar ett tredje element.
Problemet löstes genom att BODY-elementet ersattes med FRAMESET.
När man skapar HTML-dokument med ramar bör man göra följande:
<FRAMESET>
innan för detta tagg talar man om man skall ha ROWS (rader)eller COLS (kolummer).
<FRAMESET COLS="250,*">
Nu har vi talat om att det skall vara kolummer och att första (den vänstra) skall vara 250 pixlar bred och den andra (den högra) kommer att bli var den bli beroende på vilken upplösning läsaren har på sin skärm.
Man kan även använda sig av procent satser här t ex:
<FRAMESET="30%,70%">
Okej i denna taggen finns det flera saker att lägga till men dem tar vi lite senare fram, nu till de två sidor som skall placeras i respektive frame, för enkelheten skull döp den till sid1.html sid2.html.
Upp
| 1. <HTML> 2. <HEAD> 3. <TITLE></TITLE> 4. </HEAD> 5. <FRAMESET COLS="250,*"> 6. <FRAME SRC="sid1.html"> 7. <FRAME SRC="sid2.html"> 8. <NOFRAMES>Your browser do not support frames. <A HREF="start.html">Klick her to move to page with no frames</A></NOFRAMES> 9. </FRAMESET> 10. </HTML> |
1.Start element för HTML-dokument 2. Start element för huvuddelen av sidan (osynliga delen) 3. Elementet för att namnge sidan samt hjälp för sökrobortna vid katologisering av sidorna 4. Avsluts elementet för huvuddelen 5. Start element för ramar samt attributet för kolummer med värde 250 pixlar brett för sidan sid1.html och resten av sidan till sidan sid2.html 6. Den sidans namn och sökväg som skall laddas i första ramen (till vänster) 7. Den sidans namn och sökväg som skall laddas i andra ramen (till höger) 8. De element som används om Browsen inte stödjer ramar 9. Avsluts elementet för ramar 10. Avsluts elementet för HTML-dokument |
Kolla inga BODY-taggar, dessa behövs inte eftersom FRAMESET och NOFRAMES ersätter dessa. Om det skulle vara så att man vill ha BODY-taggar ändå måste de stå innaför NOFRAMES,
som i sin tur står innanför FRAMESET-taggen. Det som står i mellan NOFRAMES är det som visas för dem som har Browsers som inte stödjer frames.
Man kan lägga in en länk här för dem så att de får ta del av informationen på vanligt sätt (sida för sida ).
Två FRAMESET-element delar upp sidan i tre delar, och tre FRAMESET-element delar upp sidan i fyra delar också vidare. Hur man vet (bestämmer) hur uppdelningen kommer att bli,
en browser väljer (prioriterar) alltid de övre fönstret framför de under, och de vänstra framför de högra.
| 1. <HTML> 2. <HEAD> 3. <TITLE></TITLE> 4. </HEAD> 5. <FRAMESET ROWS="250,*"> 6. <FRAME SRC="sida1.html"> 7. <FRAME SRC="sida2.html"> 8. <NOFRAMES>Your browser do not support frames. <A HREF="start.html">Klick her to move to page with no frames</A></NOFRAMES> 9. </FRAMESET> 10. </HTML>
|
1.Start element för HTML-dokument 2. Start element för huvuddelen av sidan (osynliga delen) 3. Elementet för att namnge sidan samt hjälp för sökrobortna vid katologisering av sidorna 4. Avsluts elementet för huvuddelen 5. Start element för ramar samt attributet för rader med värde 250 pixlar brett för sidan sid1.html och resten av sidan till sidan sid2.html 6. Den sidans namn och sökväg som skall laddas i första ramen (till vänster) 7. Den sidans namn och sökväg som skall laddas i andra ramen (till höger) 8. De element som används om Browsen inte stödjer ramar 9. Avsluts elementet för ramar 10. Avsluts elementet för HTML-dokument |
| 1. <HTML> 2. <HEAD> 3. <TITLE></TITLE> 4. </HEAD> 5. <FRAMESET ROWS="10%,*" NORESIZE SCROLLING="auto" FRAMESPACING="0" BORDER=0 FRAMEBORDER=0> 6. <FRAME SRC="uppsidan.html">
7. <FRAMESET COLS="11%,*" NORESIZE SCROLLING="auto" FRAMESPACING="0" BORDER=0 FRAMEBORDER=0>
|
1.Start element för HTML-dokument 2. Start element för huvuddelen av sidan (osynliga delen) 3. Elementet för att namnge sidan samt hjälp för sökrobortna vid katologisering av sidorna 4. Avsluts elementet för huvuddelen 5. Start elementet för ramar samt attributet rader med värdet 10% av Browser fönstret tilldelas översta ramen. 6. Den sidans namn och sökväg som skall laddas i första ramen (högst upp).
7. Elementet för att dela upp den andra raden i två stycken kolummer, där den vänsta
tilldelas 10% av kolummernas bredd. |
| NORESIZE | Gör så att användare inte kan ändra storlek på framen genom att dra i dess kant (inte sabba din snygga layout) Antingen i taggen <FRAMESET> eller <FRAME SRC=""> |
| SCROLLING="yes|no|auto" | Denna egenskap bestämmer om framen skall ha rullist eller inte, valfri, default är det auto |
| FRAMESPACING="X" | Ger luft mellan framen, X antal pixlar, nästan samma som BORDER och FRAMEBORDER |
| BORDER="X" | Är för Netscape, där X står för bredden i pixlar på ramen |
| FRAMEBORDER="X" | Intenet Explorer, där X står för bredden i pixlar på ramen |
| BORDERCOLOR="#XXXXXX" | Färg sättning på ramen, X står för vilken färg i Hex-decimalt |
| MARGINWIDTH="X" | Bestämmer marginalerna inne i fönstret till vänster och höger, anges i pixlar. |
| MARGINHEIGHT="X" | Marginalerna i fönstrets överkant och underkant. |
Upp>
Tre sätt att använda sig av länkningar i frames.
1. Den första funktionen är default, skapas som en vanlig länk till ett nytt HTML-dokument med <A>-taggen.
2. Kräver mer knoppande, använder dig av ett kommando som ger en ram information till en annan ram.
T ex:
Länkningar till andra sidor i vänstra ramen och de andra sidorna skall laddas i ramen till höger.
Namne ge sidorna på huvud-dokumentet (index sidan).
<FRAME SRC="sid1.html" name="sid1">
<FRAME SRC="sid2.html" name="sid2">
Sid1 innehåller länkar till andra HTML-dokument, och sid2 är den ram som dokumenterna skall presenteras i.
En länk till nästa sida kan se ut så här.
>
<A HREF="nästa.html" TARGET="sida2">Nästa</A>
Nu kommer sidan nästa.html att ladas i sida2 (ramen).
3.
<FRAMESET COLS="50%,50%"> <FRAMESET ROWS="50%,50%"> <FRAME SRC="cell.html"> <FRAME SRC="cell.html"> </FRAMESET> <FRAMESET ROWS="33%,33%,33%"> <FRAME SRC="cell.html"> <FRAME SRC="cell.html"> <FRAME SRC="cell.html"> </FRAMESET> </FRAMESET> Delar in sidan först i två kolummer som är lika stora, var av den första kolummer delas in i två rader som är lika stora. Den andra kolummern delas sedan in i tre lika stora rader.Upp
Detta var ett kommando som bara fungerade på Explorer, men i och med införandet av HTML 4.0-standarden 1997, så ligger detta kommando med.
Vad det innebör att man kan skapa en frame som ligger inuti en annan frame (som att ha en tabell i en tabell). Eftersom man laddar
olika sidor in i frames, så erbjuder denna funktion en del nya möligheter.
<IFRAME SRC="kurs1.html" WIDTH="65%" HEIGHT="35%" SCROLLING="auto" FRAMEBORDER="1" NORESIZE>
</IFRAME>
Denna tag ligger i denna sida, inte på huvud-dokumentet som man kanske kan tro. IFRAME skapar framen, SCR anger vilken sida som skall laddas in.
Detta funkar bara om man har Internet Explorer 3.0 eller senare samt en av de senaste versionerna av Netscape.
Man manipulerar fönstret som för vanliga frames.
<IFRAME WIDTH="X" HEIGHT="X" ALIGN="X" VALIGN="X">
<FORM>
<INPUT type="button" value=" flera frames samtidigt" onClick="parent.frames[0].location='nya1.html';
parent.frames[1].location='nya2.html';">
</FORM>
Parent anger huvud-dokumentet.
Frames[1] är de frame som skall ändras.
location='nya1.html' talar om att sidan nya1.html skall laddas in i andra framen (parent är den första sidan, Browsen
börjar räkna från noll).
Copyright © Anders
Blomgren 1998, All rights reserved.
hnab@swipnet.se
Sitens URL: http://home.swipnet.se/anders_blomgren