Frames simuleren met CSS

In HTML 3 en 4 heb je de mogelijkheid om Frames te gebruiken. Daarmee verdeel je het browser-venster in een paar delen, elk met een eigen functie en desgewenst met een eigen opmaak. De huidige ontwikkelingen in HTML geven aan dat dit mechanisme gaat verdwijnen. Als alternatief wordt vaak CSS genoemd (Cascading Style Sheets).

Het bouwen van een website met CSS-frames vraagt behoorlijk wat ervaring. Je moet in elk geval goede kennis hebben van de HTML- en CSS-syntax. Daarbij zijn goede programmeer­voorbeelden een krachtig hulpmiddel.
Deze pagina veronderstelt goede HTML- en CSS-kennis. Het is niet iets voor beginners.

Als je alle voordelen van frames na wilt bouwen in CSS leidt dat tot zeer ingewikkelde, dus lastig te onderhouden, code. Als je je echter beperkt tot het in beeld houden van het menu en een uniforme opmaak, kun je met CSS een heel eind komen.

Op deze bladzijde wordt in algemene termen besproken hoe je CSS kunt gebruiken om frames na te maken. Een aantal uitgewerkte voorbeelden vind je onderaan deze bladzijde.

De inhoud van deze bladzijde leunt zwaar op het werk van Stuart Nicholls. Deze Engelse webdesigner heeft een site over het gebruik van CSS: CSS play. Hoewel die site zich beperkt tot XHTML, is het een must voor iedereen die deze techniek wil toepassen. De omzetting HTML-XHTML is namelijk heel eenvoudig.

Tenslotte: Als je deze techniek toepast, doe het dan voor je hele website en niet alleen voor een enkele bladzijde. Anders gaat je site er onrustig uitzien. Bezoekers merken dat en gaan weg.

Uitgewerkte voorbeelden

Opmerking:
Er is een trend gaande om voor dit soort technieken geen HTML meer te gebruiken, maar XHTML. XHTML is een vorm van XML (Extensible Markup Language) die veel lijkt op HTML.
XHTML is dus geen uitgebreide versie van HTML, zoals vaak wordt gedacht.
Bij gebruik van XHTML moet je vóór de DTD aangeven dat je XML gebruikt. Verder is de DTD anders en de <HTML>-tag heeft een verplicht extra attribuut. De aanpak om de frames te simuleren is binnen XHTML precies hetzelfde als in 'gewoon' HTML.
 
Naast de hierboven genoemde trend in XHTML, biedt de nieuwe standaard HTML5 een vijftal nieuwe tags, waarvan de namen suggereren dat het simuleren van frames eenvoudiger zou worden: <header>, <footer>, <nav> en <article>.
Dat is inderdaad zo. Zie het item: Frame-simulaties met HTML5-tags.
De nieuwe tags maken het ook voor de zoekmachines eenvoudiger om onderscheid te maken tussen navigatie, belangrijke en minder belangrijke tekst, enz.
Alle bekende browsers ondersteunen deze nieuwe tags geheel en correct.

 
terug

html-233; Laatste wijziging: 22 april 2020