Ik had het plan om een dubbele rand rondom de content van mijn webpagina te maken. Deze rand zou moeten lopen van de bovenkant totaan de onderkant van de content, maar minimaal tot de onderkant van de browser als de content deze niet bereikt.
Nu had ik het volgende idee. Ik gebruik 3 geneste div's. De buitenste 2 dienen als rand en de binnenste vormt dan de plek voor de content.
Nu dacht ik als ik er voor zorg dat deze binnenste content div een minimale hoogte heeft van 100% dan stretchen de twee buitenste divs mee.
Dit is de gebruikte code:
Hierbij moet ik misschien een opmerking plaatsen over de mainContainer class. Hierin zijn min-height en 2 maal height gedefinieerd. Deze code zorgt ervoor dat zowel in IE en FF de minimale DIV hoogte 100% is (komt van deze site).
Helaas werkt de HTML+CSS code hierboven niet zoals bedoelt. In Internet Explorer 6 ziet alles goed: Alle drie de DIV's zijn visueel genest en de randen lopen daardoor om de content DIV heen.
In Firefox 2 gaat dit helaas mis. De twee buitenste DIV's groeien niet verder dan de hoogte van de browser. Dit resulteert in de volgende situatie als de inhoud van de binnenste content DIV groeit:

Hierbij zie je dat de buitenste 2 DIV's ophouden en de binnenste doorloopt als je op het punt komt dat dieper is dan de browser hoogte, terwijl in IE de buitenste twee ook mooi doorlopen.
Kan iemand misschien verklaren waardoor dit gebeurt en hoe dit valt te voorkomen?
Nu had ik het volgende idee. Ik gebruik 3 geneste div's. De buitenste 2 dienen als rand en de binnenste vormt dan de plek voor de content.
Nu dacht ik als ik er voor zorg dat deze binnenste content div een minimale hoogte heeft van 100% dan stretchen de twee buitenste divs mee.
Dit is de gebruikte code:
HTML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
| <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>Title</title> <style type="text/css"> html { height: 100%; } body { height: 100%; margin: 0px; padding: 0px; text-align:center; } .mainContainer { margin: 0px auto; width: 300px; min-height: 100%; height: auto !important; height: 100%; background-color: #eee; position: relative; border:1px solid #000; } </style> </head> <body> <div id="border1" style="border:1px solid #f00;height: 100%"> <div id="border2" style="border:1px solid #0f0;height: 100%;"> <div id="content" class="mainContainer"> <p> Tekst </p> </div> </div> </div> </body> </html> |
Hierbij moet ik misschien een opmerking plaatsen over de mainContainer class. Hierin zijn min-height en 2 maal height gedefinieerd. Deze code zorgt ervoor dat zowel in IE en FF de minimale DIV hoogte 100% is (komt van deze site).
Helaas werkt de HTML+CSS code hierboven niet zoals bedoelt. In Internet Explorer 6 ziet alles goed: Alle drie de DIV's zijn visueel genest en de randen lopen daardoor om de content DIV heen.
In Firefox 2 gaat dit helaas mis. De twee buitenste DIV's groeien niet verder dan de hoogte van de browser. Dit resulteert in de volgende situatie als de inhoud van de binnenste content DIV groeit:

Hierbij zie je dat de buitenste 2 DIV's ophouden en de binnenste doorloopt als je op het punt komt dat dieper is dan de browser hoogte, terwijl in IE de buitenste twee ook mooi doorlopen.
Kan iemand misschien verklaren waardoor dit gebeurt en hoe dit valt te voorkomen?