Lektion 10: Frames
Frames giver dig mulighed for at dele browservinduet op i flere vinduer. Lektionen lærer dig hvordan.
Vha. frames er det muligt at bruge X antal HTML filer på én webside på én gang.
Det lyder umiddelbart smart, men vi
anbefaler fra klikamok's side at du ikke benytter frames. Surfer du rundt på nettet finder du sjældent professionelle hjemmesider,
som er bygget op vha. frames - det er der masser af gode grunde til.
Dette betyder dog ikke at du ikke skal have teorien med
alligevel.
Principperne bag frames
Vi kan forestille os en hjemmeside som er bygget således op:
1. angiver placeringen for navigationen (menu'en) på hjemmesiden. Denne menu har sin egen html fil. Lad os sige "menu.html".
2. angiver placeringen for hjemmesidens indhold. Igen har denne del sine egne HTML filer. Lad os sige at forsiden hedder "main.html".
Nu indfører vi en tredie fil. Vi kalder den for "frameset.html". I frameset.html filen gør vi browseren opmærksom på at:
- browseren skal benytte frames,
- der er to frames,
- de to frames er sat op i kolonner,
- venstre frame skal benytte "menu.html" filen,
- højre frame skal benytte "main.html" filen.
Vi benytter således 3 filer for at få vist 2 filer. "frameset.html" filen har ikke noget visuelt indhold i sig selv - kun information om, hvilke HTML filer
der skal vises hvor.
I det efterfølgende benytter vi oventående eksempel, men vi bekymrer os ikke om hvad der står i "menu.html" og i "main.html" filen.
Et simpelt frameset
Følgende kode i "frameset.html" filen vil give resultatet beskrevet herover:
<html>
<head>
<frameset cols="180,*">
<frame src="menu.html" name="menu">
<frame src="main.html" name="indhold">
</frameset>
</noframes>
<body>
Din browser understytter ikke frames
</body>
</noframes>
</head>
</html>
Alt hvad der står imellem <frameset> ..og.. </frameset> er del af frames koden. Under nævnte tags, står
en <noframes> erklæring. Denne erklæring læser browseren hvis den ikke understøtter frames.
I <frameset> tag'n ser vi at der er brugt koden cols="180,*". Det betyder a) at der er to frames og b) at de to frames er sat op i kolonner.
Størrelsen (i dette tilfælde bredden) af kolonnerne er de to efterfølgende tal. Tegnet * læser browseren som "resten".
Størrelsen på en frame skal angives enten som *, i pixels eller i %. Vi anbefaler
ikke angivelse %. Eksempler på størelse kunne f.eks. være:
cols="100,*,100" eller cols="60%,40%". cols="200,600" vil ikke virke da du ikke kan være sikker på at brugerens skærmopløsning er 800x600.
Der brugt cols="" i <frameset> tag'n herover. Havde vi i stedet brugt rows="" var de to frames blevet til rækker i stedet for kolonner.
I <frame> tag'n ser vi at src="" koden angiver hvilken HTML fil der skal benyttes. Samme sted ser vi koden name="" benyttet.
Det er nødvendigt at benytte name's til dine frames hvis du vil have mulighed for at åbne andre HTML side i en given frame.
I eksemplet herover har vi en menu i venstre frame. Her er tanken at et menu punkt skal åbne en ny side i højre frame. Her benyttes
det navn vi har givet højre frame, som target="" i linket. Linket i venstre menu skulle altså i ovenstående tilfælde se således ud:
<a href="kontakt.html" target="indhold">Kontakt os</a>
Et avanceret frameset
<html>
<head>
<frameset cols="180,*" frameborder="0" framespacing="0" framepadding="0">
<frame src="menu.html" name="minmenu" scrolling="no">
<frame src="forside.html" name="minforside" scrolling="auto">
<noframes>
<body>
Din browser understøtter ikke frames... osv...
</body>
</noframes>
</frameset>
</head>
</html>
Eksemplet burde tale for sig selv. Vi har indført et par nye koder i <frameset> tag'n som gør at vi kan fjerne "luft" og "kant", og vi
har indført en kode som hedder scrolling="" i <frame> tags'ne som gør at vi kan bestemme om der skal være
scrollbars i de enkelte frames. scrolling="" kan have værdien "yes", "no" eller "auto".
Det er også muligt at flette frames.. f.eks. som i flg. eksempel:
<frameset cols="180,*">
<frame src="menu.html">
<frameset rows="60,*">
<frame src="top.html">
<frame src="forside.html">
</frameset>
</frameset>
Afsluttende bemærkning
Mere vil vi ikke sige om frames her. Den bedste måde at lære om frames på er a) at prøve sig frem, og b) at surfe rundt på nettet og lade sig
inspirere af andres frameset's.
Og husk: Frames bør ikke benyttes hvis der ikke er en rigtig god grund til det.
Skrevet okt. 2001 af Niels Rune Bøggild
| Tilføjet af Simon Glue den 02-12-2003 - Hits: 4327 |
   |