Home Ontwerp je site CSS Positionering in CSS

Positionering in CSS

Vroeger werden tabellen gebruikt om de verschillende onderdelen van een website te plaatsen. Header, navigatie, footer, inhoud enzovoort kregen allemaal een plaatsje in een tabelcel. Met de komst van XHTML en CSS 2 zouden we zulke praktijken niet meer te zien mogen krijgen.

Tabellen worden immers gebruikt om tabulaire data weer te geven en dienen niet voor lay-outdoeleinden.

In XHTML gaan we de lay-out volledig overlaten aan CSS. Dit betekent dat we de verschillende onderdelen op zijn plaats moeten gaan krijgen door deze te positioneren. Om dit gemakkelijk te doen moet je eerst je webpagina onderverdelen in de grote delen en bedenken waar zij ergens op het scherm moeten geplaatst worden.

Elk onderdeel van de webpagina plaatsen we in een "container". De <div>-tag is hiervoor ideaal. Algemeen gesproken krijgen we dan zoiets:

<body>
<div class="container">
<div class="header">Hier komt je logo of titel van de pagina. </div>
<div class="menu">Hier komt je menu. </div>
<div class="content">Hier komt de inhoud van de pagina. </div>
<div class="footer">Hier plaats je de footer. </div>
</div>
</body>

Aan elke <div> hebben we een class gehangen zodat we in een stijlbestand de nodige opmaak kunnen stoppen.

Maak dus een nieuw stijlbestand. We veronderstellen in dit voorbeeld dat het menu aan de rechterkant komt en de content links.

We beginnen met de code voor de header. In onze header zetten we een afbeelding, ook wel banner genoemd of een achtergrondafbeelding. We zijn verplicht om de hoogte van de banner op te geven, anders zullen we deze niet te zien krijgen. De rest van de code spreekt voor zich.

.header {
background-image: url("banner.jpg");
height: 100px;
border-bottom: solid 1px blue;
}

Het menu willen we aan de linkerkant weergeven zoals gebruikelijk. We geven aan hoe breed het menu is en aan welke kant het moet verschijnen.

.menu {
width: 150px;
float: left;
}

Het gebied waarin de inhoud moet komen hoeft niet veel code:

.content {
padding: 0 0 0 160px;
}

Stel hier de juiste paddingmarges in; de tekst mag beginnen op 160 px omdat de navigatie al 150 pixels in beslag neemt. De volgorde van de waarden is top - right - bottom - left. Je kunt dit gemakkelijk onthouden met het woord "TRouBLe" als geheugensteun.

De footer maak je op naar je eigen smaak.

.footer {
background-color: #ffcccc;
border-top: solid 1px blue;
clear: left;
}

Je merkt dat het element clear is toegevoegd. Omdat we opgegeven hebben in het menu dat dit links moet staan (float: left;) moeten we aangeven dat die linkse uitlijning moet stoppen en dat de div footer eronder moet beginnen. Anders bestond het gevaar dat de footer naast het menu ging verschijnen. Dit probleem is bij deze voorzien en opgelost.
Wanneer je het menu rechts zou uitlijnen (float: right;) moet je in de footer het element clear van de waarde right voorzien.
Gebruik je div's met een uitlijning van zowel rechts en links, moet je clear de waarde both meegeven.

Niets weerhoudt je ervan om ook andere opmaakelementen te koppelen aan de classes content, menu en header.
Iets niet duidelijk? Bekijk het concreet uitgewerkte voorbeeld.


Ga naar het laatste deel van de CSS basiscursus : Stylesheets toepassen op verschillende media



7 + 0 =
 

GOOGLE adsense