Frames worden vooral gebruikt om de navigatie binnen een site te verbeteren. Dit onderwerp behoort net als het werken met tabellen tot de moeilijkere gebieden van HTML. Hier zal ik je de basisbeginselen van het werken met frames uit te leggen.
Voordat ik begin, zou ik je willen aanraden frames niet te gebruiken, tenzij het echt niet anders kan.
Er kleeft namelijk een aantal belangrijke nadelen aan het gebruiken van frames. Zo worden frames niet door oude browsers ondersteund (pas vanaf Netscape 2.0 en IE 3.0), ook hebben zoekmachines vaak moeite met het indexeren van frames- paginas, waardoor je bezoekers kunt mislopen.
Tenslotte kan het bookmarken van een framespagina problemen opleveren.
Veel dingen waarvoor men frames gebruikt, zijn ook te maken met tabellen, waarmee je deze nadelen niet hebt. Toch zijn frames nu eenmaal onmisbaar wanneer je een pagina wilt maken met verschillende, onafhankelijk van elkaar werkende secties.
Hoe Functioneren Frames?
Zoals al gezegd, dienen frames vooral voor de navigatie op een site.
Dit gebeurt, doordat de frames het scherm splitsen in verschillende secties. Hoe die splitsing plaatsvindt, staat in de hoofdpagina van de website, meestal de index.html file. Bij de links binnen de frames moet worden aangegeven waar de paginas geladen worden of dat ze zonder de frames weergegeven worden.
De <FRAMESET> tag
Deze tag komt dus op de hoofdpagina van je site (meestal
index.html).
De tag vervangt de
<BODY> tag van de hoofdpagina. Met de
FRAMESET tag geef je aan hoe, en waar de pagina gesplitst
wordt. Als je de pagina wilt splitsen in kolommen en rijen,
heb je twee FRAMESET tags nodig, voor ieder één.
Om de grootte van de frames aan te geven, moet je de volgende
attributen gebruiken:
rows: hiermee bepaal je de horizontale splitsing
van de pagina.
De waarde die je invult is, of in pixels, of in een
percentage. Je kunt het beste percentages gebruiken, dan ben je het minst
afhankelijk van de browserinstellingen van je bezoekers.
Een voorbeeld van een pagina die in drie horizontale delen gesplitst
is:
<HTML>
<HEAD>
<TITLE>Framesvoorbeeld met
rijen</TITLE>
</HEAD>
<FRAMESET
rows="30%,50%,20%">
<FRAME src="document1.html">
<FRAME src="document2.html">
<FRAME src="document3.html">
</FRAMESET>
</HTML>
Klik
hier om het resultaat te zien!
Je ziet, de pagina is nu horizontaal verdeeld in drie frames d.m.v.
het attribuut: rows.
cols: Hetzelfde als bij de rows. Alleen
wordt nu de pagina verticaal gesplitst.
Een voorbeeld van een pagina die in drie verticale delen gesplitst is:
<HTML>
<HEAD>
<TITLE>Framesvoorbeeld met
kolommen</TITLE>
</HEAD>
<FRAMESET
cols="30%,50%,20%">
<FRAME src="document4.html">
<FRAME src="document5.html">
<FRAME src="document6.html">
</FRAMESET>
</HTML>
Klik hier om het resultaat hiervan te zien!
Nu zie je dat de pagina nu verdeeld is in drie verticale frames door het
cols attribuut.
De <FRAME> tag
In de bovenstaande voorbeelden zag je deze tag al staan. Deze tag staat in de
FRAMESET tag. De functie van de <FRAME>
tag is, aan te geven welke paginas in de verschillende frames moeten worden
geladen.
De <FRAME> tag kan de volgende attributen
hebben:
src: dit staat voor "source" en dit attribuut geeft het
adres aan waar de te laden pagina staat. Dit is een verplicht attribuut.
name: Als je vanuit het ene frame een pagina in een ander
frame wilt laden, moet je de frames een unieke naam geven. Deze naam heeft niets
te maken met het adres van het frame. Deze naam geef je met het attribuut
name.
Zo dus:
<FRAME src="hetadres"
name="framenaam">
Als je nu een pagina wilt laten verschijnen in het frame, dan moet je in de
link (de <A> tag) naar die pagina het attribuut
target toevoegen, met daarin als waarde de naam van
het frame.
Op deze manier:
<A href="adres"
target="framenaam">
marginwidth: bepaalt de dikte van de linker- en rechtermarge
in aantallen pixels.
marginheight: bepaalt de hoogte van de "top" en "bottom"
marge van het frame in aantallen pixels.
scrolling: hiermee kun je instellen of je scrollen in het
frame mogelijk wilt maken. Mogelijke waarden zijn: yes,
no en auto. Standaard is auto (dus
als je scrolling niet instelt). Bij auto wordt
scrollen automatisch mogelijk als het nodig mocht zijn.
noresize: de grootte van de frame kan nu niet aangepast
worden door de bezoeker. Je hoeft geen waarde in te vullen. Zet gewoon
noresize in de FRAME tag.
frameborder: hiermee kun je een rand tussen de frames
instellen. Standaard staat hij al op "yes". Mogelijke waarden zijn:
yes en no.
framespacing: stelt een ruimte in tussen de verschillende
frames in aantallen pixels.
De <NOFRAMES> tag
In deze tag kan je een URL opnemen waar bezoekers, met een browser die geen
frames aankunnen, heengestuurd worden.
Een voorbeeld:
<NOFRAMES>http://www.mijnhomepage.nl/
index.php</NOFRAMES>
Einde Les Acht en Einde HTML Cursus
In deze les vond je de beginselen van frames. Natuurlijk is het hier, net als
bij tabellen, zaak om veel te oefenen en experimenteren. Kijk ook naar andere
sites om te kijken hoe zij met frames werken.
Dit is ook het einde van de HTML cursus. Ik ga er van uit
dat je er wat aan gehad hebt en dat je er ook wat mee doet. Het is nl. erg
handig om zelf je site aan te kunnen passen.
Inmiddels is er trouwens een opvolger van HTML en dat is
XHTML. XHTML is een strengere en schonere code dan HTML en het
zal in de toekomst steeds vaker gebruikt gaan worden. Je kunt XHTML vrij
gemakkelijk leren, want er zijn maar een paar grote verschillen met HTML. Leer
dus ook XHTML via onze XHTML Cursus!
Met dat wat je in de voorgaande lessen geleerd hebt, moet je in staat zijn
een aardige website te bouwen. Ik wens je daar veel plezier en succes mee!
Deze cursus HTML valt onder copyright van mijnhomepage.nl. Dit artikel mag niet
worden overgenomen zonder uitdrukkelijke toestemming van de webmaster van
mijnhomepage.nl.