Les 8
Werken Met Frames
Frames worden vooral gebruikt om de navigatie binnen een site te verbeteren. Dit onderwerp behoort net als het werken met tabellen tot de moeilijke gebieden van HTML. Hier zal ik proberen 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 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.homepage-maken.nl/index.php</NOFRAMES>
Einde les acht
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.
In de les negen lees je hoe je een formulier kunt maken in HTML.
Homepage-Maken Tip
De makkelijkste manier om je eigen website te maken?
Dat is via een website bouwer als Weebly. Hiermee kun je eenvoudig via je browser door middel van drag-en-drop een website bouwen. Je kunt volledig gratis beginnen met 500MB webruimte voor je site. Zo nodig kun je een betaald pakket nemen met eigen domeinnaam, "onbeperkte" opslag (fair use policy) en e-commerce mogelijkheden.
Weebly is daarom een prima optie als je snel een website in elkaar wilt zetten. Kennis van HTML of het installeren van een eigen content management systeem is niet nodig bij Weebly.