En IFRAME (Inline Floating Frames) är en ram som är oberoende av webläsarens fönster avseende storlek och placering. Ett vanligt frameset består ju av två eller flera ramar som storleksmässigt anges i pixlar, procent eller andel förhållande till fönsterstorleken. Läs mer om Frames/Ramar här ». En IFRAME placeras i ett dokument men visar liksom Frames/Ramar innehållet i ett annat källdokument. Den sida som ska visas i IFRAME är alltså en annan HTML-sida som du förberett och sparat tidigare.
IFRAME kan placeras överlappande och kan ha även ha en transparent bakgrund. OBS! Även om IFRAME är standard från och med HTML 4 (läs mer på www.w3c.org) så är stödet begränsat i andra webläsare än Internet Explorer. Överlappande IFRAME använder attributet z-index vilket stöds av IE 4 när det gäller Lager (layers). Z-index för IFRAME stöds däremot bara av IE 5.5 och senare versioner. Om webläsaren inte stöder IFRAME visas inget innehåll alls!
En IFRAME definierar du med märket <IFRAME> där du också anger vilken HTML-sida som ska visas i IFRAME.
Attribut som du kan använda är:
Så här kan det se ut i webläsaren:

Klicka här för att se exemplet ovan i ett eget fönster »
Placeringen av en IFRAME i förhållande till webläsarfönstret gör du enklast och mest exakt genom att använda tabeller - läs mer i guiden "Tabeller" » eller med lager (layers). Att lägga innehållet i en tabellcell ger bra möjligheter att placera annat text- och bildinnehåll bredvid innehållet i en IFRAME men i samma tabell. Exemplet nedan ger en tabell med 1 rad och 3 kolumner där IFRAME finns i den mellersta cellen.
...och så här kan det se ut i webläsaren:

Klicka här för att se exemplet ovan i ett eget fönster »
Vill du ha din IFRAME centrerad vertikalt och horisontellt så att den alltid ligger mitt i webläsarens fönster kan du lägga IFRAME i en tabell med 1 rad och 1 kolumn där tabellen är 100% i både bredd och höjd och cellens innehåll är centrerat. I exemplet nedan ligger IFRAME i en tabell som består av endast 1 rad och 1 kolumn vilket är detsamma som 1 cell. Bakgrundsbilden på sidan är då oberoende av storlek och placering av IFRAME till skillnad från om du försöker få samma layout i ett vanligt frameset (ramar).
Så här kan det se ut i webläsaren:

Klicka här för att se exemplet ovan i ett eget fönster »
IFRAME kan ha egenskapen transparens (opacitet) och visa innehållet som finns bakom ramen. För att det ska fungera måste du ange transparens på två ställen:
I koden som anger IFRAME måste attributet allowtransparency="true" finnas med:
I bakgrundens egenskaper på den sida som ska visas i IFRAME måste attributet style="background-color:transparent" finnas med inom <BODY>:
Så här kan det se ut i webläsaren:

Klicka här för att se exemplet ovan i ett eget fönster »
IFRAME kan ha egenskapen Alpha (genomskinlighet) och visa innehållet som finns bakom ramen. Egenskapen Alpha anges som ett attribut till <BODY> i den HTML-sida som ska synas i IFRAME. Det finns en nackdel med filtret Alpha och det är att även innehållet på sidan blir genomskinligt. I bakgrundens egenskaper på den sida som ska visas i IFRAME måste attributet style="filter: Alpha(Opacity=X)"" finnas med inom <BODY>. Där värdet anges mellan 1 och 100 för önskad opacitet:
Så här kan det se ut i webläsaren:

Klicka här för att se exemplet ovan i ett eget fönster »
Genom att ge IFRAME en positionering med hjälp av X- och Y-koordinater får ramen liknande egenskaper som ett lager (layer). Exemplet nedan visar hur du ger din IFRAME en exakt position på sidan med hjälp av attributet style="position..." där du anger om du vill ha en absolut eller relativ placering av IFRAME.
I exemplet nedan anges att ramen ska placeras i en absolut position av 100 pixlar från vänsterkant och 100 pixlar från överkant av webläsarens fönster:
Så här kan det se ut i webläsaren:
Klicka här för
att se exemplet ovan i ett eget fönster »
Du kan även ange att positionen ska vara relativ i förhållande till annat innehåll på sidan. Risken är då mindre att IFRAME hamnar framför andra bilder och text på sidan. I exemplet nedan är IFRAME placerad 100 pixlar ifrån objektet som i detta fall är en tabell:
Så här kan det se ut i webläsaren:

Klicka här för att se exemplet ovan i ett eget fönster »
Om positionen istället anges med absoluta koordinater kan IFRAME hamna ovanför andra objekt:
Klicka här för att se exemplet ovan i ett eget fönster »
Att länka till en IFRAME fungerar likadant som att länka till en ram i ett Frameset. Målet för länken är detsamma som ramens namn vilket i detta fall är namnet på IFRAME. Prova länkarna nedan som öppnar sidor i 3 olika IFRAME:
Koden för länken som öppnar en sida i IFRAME kan se ut så här:
OBS! Målet för länken är namnet på den IFRAME du vill att sidan ska öppnas i. Koden för en IFRAME som är målet för länken ovan kan se ut så här:
Med hjälp av CSS kan du formatera de flesta HTML-objekt och så även IFRAME. Läs mer om CSS i övningen "CSS - Stilmallar" » En vanlig formatering kan tex gälla kantlinjer och bläddringslister. I alla exemplen nedan är kantlinjen borttagen med attributet frameborder="0". Byt ut färgkoder, kantlinjetyp och tjocklek i exemplen nedan. Några olika varianter av kombinationen av kantlinjestil och bläddringslister ser du nedan. Prova att bläddra i exemplen! Grundkoden för exemplen nedan är:
| style="border: 2px solid #6699FF;" | style="border-top: 2px solid #CC6630; border-bottom: 2px solid #CC6630;" | style="border: 2px dotted #CC3366;" |
(Anges i koden för sidan som visas i IFRAME) <HEAD> |
style="border: 1px solid #666666;" (bläddringslister på samma sätt som visas till vänster) |
style="border: 5px double #ACBBEC;" |