HTML ramar
Med ramar, också kallade ”frames”, kan man visa mer än en webbsida i samma webbläsarfönster. Detta var ursprungligen en funktion i Netscape 2 som sedan tagits med av de andra webbläsarna. Varje HTML dokument visas i en egen ram och varje ram är oberoende av varandra.
Elementet <frameset> och <frame>
Elementet <frameset> anger hur webbläsarfönstret ska delas in i ramar och ersätter elementet <body>. Attributen ”cols” och ”rows” anger om sidan ska delas in i kolumner eller rader och attributets värde anger både antal rader/kolumner samt hur stor del av webbläsarfönstret som varje ram ska uppta.
Elementet <frame> definierar vilket HTML dokument som ska visas i varje ram.
HTML kod
<html> <frameset cols="25%,50%,25%"> <frame src="ram_1.htm" /> <frame src="ram_2.htm" /> <frame src="ram_3.htm" /> </frameset> </html>
Webbläsaren i exemplet ovan kommer att visa tre kolumner där den första och tredje är 25% av läsarfönstret och den andra är 50%. Dokumentet ram_1.htm visas i den första kolumnen, ram_2.htm i den andra och ram_3.htm i den tredje.
Det går även att ange ramarnas bredd eller höjd i pixlar.
HTML kod
<frameset rows="200,600">
Med värdet * så anges att den ramen ska ta upp det resterande utrymmet av webbläsarfönstret (cols=”40%,*”).
HTML kod
<frameset rows="25%,*">
Det går också att blanda kolumner och rader. Exemplet nedan visar hur.
HTML kod
<html> <frameset rows="50%,50%"> <frame src="frame_a.htm" /> <frameset cols="25%,75%"> <frame src="frame_b.htm" /> <frame src="frame_c.htm" /> </frameset> </frameset> </html>
Ramar kan skapa problem!
- Ramar gör sidan sämre ur sökmotoroptimeringssynpunkt.
- Man måste hålla ordning på fler HTML domument.
- Läsare får svårt att skriva ut hela webbsidan.
- Ramar ogillas av XHTML och finns bara som en del av Frameset DTD.
Vår rekommendation är att inte använda ramar!
Den enda egentliga fördelen med ramar är att inte alla dokument behöver uppdateras om en gemensam meny ska ändras. Det finns dock ett enklare sätt att göra denna med hjälp av funktionen ”include” i php. Läs mer om php här!
CSS och ramar
Stilmallar (css) kan appliceras på alla sidor som en ram innehåller. Att applicera stilmallen direkt på ”ramdokumentet” har däremot ingen effekt eftersom formateringen inte ”ärvs” till sidorna som ramdokumentet innehåller. Den enda formatering som kan användas på själva ramdokumentet är attributen ”marginheight” och ”marginwidth”. Läs mer om css här!.
Element för ramar
| Element | Beskrivning | Övrigt |
| <frameset> | Definierar ett antal ramar | Utfasad! Bara tillåten i Frameset DTD |
| <frame> | Definierar en ram och dess innehåll | Utfasad! Bara tillåten i Frameset DTD |
| <noframes> | Definierar en alternativ visning för läsare som inte hanterar ramar | Utfasad! Bara tillåten i Frameset DTD |
| <iframe> | Definierar en inline ram | Utfasad! Bara tillåten i Frameset DTD |





