Zoals je al aan de topictitle kan zien heb ik een page met een header, 3 column layout en een footer, waarbij de footer fixed onderaan de viewport staat en naar beneden gedrukt wordt als de content dat verlangt.
Simpel. Dit is volgens mij al zo vaak langsgekomen, tientallen oplossingen etc. etc.
Punt is dat deze bijna altijd gebaseerd zijn op 2 verschillende types.
- fixed width container (bijvoorbeeld 760px)
- 100% width container
Probleem wat ik ondervond is het volgende:
De header en footer heeft een width van 100% en de 3 column dient een fixed width te hebben. In dit geval is dat 892px.
Dit werkt allemaal prima (getest in FF en IE) totdat de content in de 3 columns langer wordt.
Dan "schiet" de content onder de footer door, dit is alleen het geval bij FF.
Het enige wat ik kan bedenken is de floats op #maincontent en op .sidebar weg te halen. Nadeel is meteen dat je je 3 column layout kwijt bent.
Heeft iemand een goeie ingeving?
Simpel. Dit is volgens mij al zo vaak langsgekomen, tientallen oplossingen etc. etc.
Punt is dat deze bijna altijd gebaseerd zijn op 2 verschillende types.
- fixed width container (bijvoorbeeld 760px)
- 100% width container
Probleem wat ik ondervond is het volgende:
De header en footer heeft een width van 100% en de 3 column dient een fixed width te hebben. In dit geval is dat 892px.
Dit werkt allemaal prima (getest in FF en IE) totdat de content in de 3 columns langer wordt.
Dan "schiet" de content onder de footer door, dit is alleen het geval bij FF.
HTML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html lang="nl"> <head> <title>footer2 test</title> <link rel="stylesheet" href="footer2.css" type="text/css"> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> </head> <body> <div id="contents"> <div id="header"><p>header</p></div> <div id="main"> <div id="contentcon"> <div class="sidebar"><p>left</p></div> <div id="maincontent"><p>content</p></div> <div class="sidebar"><p>right</p></div> </div> </div> <div id="footer"><p>footer content</p></div> </div> </body> </html> |
Cascading Stylesheet:
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
39
40
41
42
43
44
45
46
47
48
49
50
| html, body, #contents { min-height: 100%; width: 100%; height: 100%; } html>body, html>body #contents { height: auto; } body { margin: 0; padding:0; background:#fff url(i/faux_bgmenu.gif) repeat-y 50% 0; } #contents { position: absolute; top: 0; left: 0; margin:0; padding:0; } #header { width:100%; height:135px; background:#ccc; margin:0; padding:0; } p {padding:0; margin:0;} #contentcon { width:892px; height:auto; margin-left:auto; margin-right:auto; } .sidebar { width:132px; float:left; } #maincontent { width:626px; height:auto; float:left; } #footer { position: absolute; bottom: 0; width: 100%; text-align: center; height:200px; background:#ccc; } #main { margin-bottom: 200px; height: auto; } |
Het enige wat ik kan bedenken is de floats op #maincontent en op .sidebar weg te halen. Nadeel is meteen dat je je 3 column layout kwijt bent.
Heeft iemand een goeie ingeving?
[ Voor 13% gewijzigd door TeeDee op 21-06-2005 12:59 ]
Heart..pumps blood.Has nothing to do with emotion! Bored