<Inhoud>   specials: <Kleuren> <Tabellen> <Frames>


 HTML Specials  -  Frames 



Toepassen van frames

Met behulp van het FRAMESET-element wordt het weergavevenster verdeeld in verschillende zelfstandige elementen, genaamd frames. In elk frame wordt een document geladen, onafhankelijk van de andere frames. Terwijl in het ene frame een link gevolgd wordt, blijft de inhoud van een ander frame behouden. Ook kan het volgen van een link in het ene frame, zorgen voor het verversen van de inhoud van een ander frame. Zo is het heel eenvoudig om een hoofdmenu of logo continu in beeld te houden. Ook kunnen frames worden gebruikt voor geavanceerde layout, op een soortgelijke manier als tabellen. Dit laatste moet echter sterk worden afgeraden: het effect kan met minder problemen grotendeels ook met tabellen worden bereikt.

De frame-elementen

FRAMESET ~ FRAME ~ NOFRAMES ~ Het TARGET-attribuut

FRAMESET

Het FRAMESET-element vervangt het gehele BODY-element. Door waardes op te geven voor de cols en/of rows attributen, worden verschillende horizontaal dan wel verticaal gescheiden frames gedefinieerd. De waardes geven gelijk het formaat aan van de frames. Voor elke waarde die wordt gedefinieerd, wordt er een frame aangemaakt.

Zo geeft het attribuut rows="25%,75%" aan dat het venster moet worden verdeeld in twee rijen, waarvan de tweede drie keer zo hoog is als de eerste. Waarden met pixels zijn ook toegestaan, maar daar moet je heel voorzichtig mee omgaan. Je weet niet hoeveel ruimte de inhoud van het frame straks nodig heeft, tenzij er alleen een afbeelding in geplaatst wordt. Als het totaal aantal opgegeven pixels niet overeenkomt met de vensterbreedte, zal de browser zelf de waardes aanpassen. Het is verstandig om altijd minstens 1 frame een flexibele waarde te geven, zoals een percentage. Ook kun je helemaal geen waarde opgeven maar een joker inzetten: *. Het attribuut cols="100,*" verdeelt het venster in twee kolommen, waarvan de eerste 100 pixels breed is, en de tweede de rest van het venster vult.

Een frameset heeft als inhoud enkel een aantal FRAME elementen. Een FRAME element kan vervangen worden door een nieuwe FRAMESET. Op die manier krijg je 'geneste' frames. Verder kan een FRAMESET nog het NOFRAMES element bevatten, om een alternatief te bieden voor degenen die de frames niet kunnen of willen zien.

FRAME

Het FRAME element definieert de eigenschappen van de frames. Met behulp van attributen geef je de naam op (om later een link te laten verwijzen naar een bepaald frame), een bron voor de vulling van het frame, en eventuele rand- en scrollkenmerken.

NOFRAMES

Dit element wordt weergegeven als de browser geen frames weergeeft. Het kan een compleet alternatief document bevatten of verwijzingen naar de documenten die in de frames worden gebruikt. Het is nogal onbeleefd om hierin te zeggen: Uw browser ondersteunt geen frames, zorg dat u een betere browser krijgt. Nog erger is het om helemaal geen NOFRAMES element te gebruiken.
Het NOFRAMES element bevat enkel een BODY element, en daarin kan weer van alles worden opgenomen.

Het TARGET-attribuut

Standaard vervangt een document dat met een hyperlink is aangeroepen het oorspronkelijke document (dus in het frame waarin geklikt werd). Om te kunnen verwijzen naar andere frames, en om los te komen uit frames, moet het target attribuut worden toegevoegd aan een hyperlink (A).

Het element <BASE target=""> kan worden opgenomen in de kop van een document om standaard de opgeroepen documenten in een ander frame te plaatsen.

De volgende waarden zijn mogelijk (en let op, gebruik geen hoofdletters):

Attributen bij de frame-elementen

Dit zijn attributen die zijn toe te voegen aan het FRAMESET-element:

attribuut regelt mogelijke waarden
rows de afmetingen van de rijen waarin het venster wordt verdeeld een getal in pixels (of een percentage of een 'joker': *) per rij, gescheiden door komma's
cols de afmetingen van de kolommen waarin het venster wordt verdeeld een getal in pixels (of een percentage, of een 'joker': *) per kolom, gescheiden door komma's

Dit zijn attributen die zijn toe te voegen aan het FRAME-element:

attribuut regelt mogelijke waarden
name de naam van het frame, voor gebruik met het target-attribuut van hyperlinks - gebruik een leesbare naam alleen gewone tekst, beginnend met een letter
src het document dat wordt weergegeven in het frame een URL
frameborder de weergave van een rand tussen de frames 1 of 0
scrolling de aanwezigheid van scrollbars yes of no of auto (alleen indien nodig)
Dit attribuut is alleen verantwoord te gebruiken als je precies weet hoe groot het frame is en hoeveel ruimte de inhoud nodig heeft. Dat zal zelden voorkomen.

MS Internet Explorer en Netscape Navigator hebben aparte attributen om de frameborder te beïnvloeden. Als je de frameborders wilt verwijderen in beide browsers, zul de volgende attributen moeten toevoegen aan het FRAMESET element: border=0 frameborder=0 framespacing=0.

Voorbeeld van een eenvoudige frameset:

<FRAMESET rows="100,*">
  <FRAME name="R1K1" src="logo.html">
  <FRAMESET cols="40%,*">
    <FRAME name="R2K1" src="nav.html">
    <FRAME name="R2K2 src="main.html">
  </FRAMESET>
  <NOFRAMES>
    <BODY>
    <P><A href="nav.html">Navigatie voor niet-frames gebruikers.</A>
    </BODY>
  </NOFRAMES>
</FRAMESET>

Voorbeeld-weergave in jouw browser.

En hetzelfde voorbeeld weergegeven in ASCII-art:

---------------------------------------
|          frame R1K1                 |
|                                     |
---------------------------------------
|               |                     |
|               |                     |
|               |                     |
| frame R2K1    |      frame R2K2     |
|               |                     |
|               |                     |
---------------------------------------

Nadelen van frames


Copyright © 2000, Rijk van Geijtenbeek, mail-adres: rijk@iname.com.