Stel je onderstaande html voor:
en de volgende css:
Dit is al zover mogelijk uitgekleed. Een werkende testcase is aanwezig.
Als je de testcase bekijkt, dan zie je 2 problemen:
1. De pagina met weinig content scrollt altijd. Zelf vermoed (understatement) ik dat dit door de border van 8px op de #container komt.
Ik heb hierbij getracht met negative margins etc. te werken, maar het resultaat bleef het zelfde. Het zou dus eigenlijk height:100% - 8px aan de onderkant (even uitgeschreven
).
2. De pagina met veel content heb ik inmiddels werkend in IE6 en IE7 (exclusief het eerste probleem), maar FireFox wil nog niet echt meewerken. De content-background rekt dan niet mee.
Edit: probleem 2 heb ik inmiddels bijna opgelost. Nu is het dus alleen nog dat bij weinig content de hoogte in IE7 en FireFox geen 100% meer is. Dat komt door de min-height denk ik.
Allebei de problemen heb ik getest met IE6, IE7 en FireFox 2.0.0.1.
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
39
40
41
| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <title>Homepage</title> <link rel="stylesheet" href="css/base.css" type="text/css"> <!--[if IE]> <style type="text/css"> #container { overflow: visible; } </style> <![endif]--> <!--[if lt IE 7]> <style type="text/css"> #container { height: 100%; } </style> <![endif]--> </head> <body> <div id="container"> <div id="contentbox"> <div id="content"> <h1>Content</h1> <p> Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Fusce quis justo ac purus gravida rhoncus. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos hymenaeos. Donec justo. Duis vitae nunc eu justo rhoncus vulputate. Maecenas auctor sem vel arcu vehicula lobortis. Nullam nisl. Aenean egestas. Sed sodales pede vitae ante. Nullam felis sem, adipiscing et, bibendum et, commodo eleifend, magna. </p> <p>Meer <a href="default2.html">content</a> bekijken?</p> </div> </div> <div class="clear"></div> </div> </body> </html> |
en de volgende css:
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
| html, body { height:100%; padding:0; } body { margin:0; background:url(../img/mainbg.gif); background-repeat:repeat-x; background-color:#acacac; } #container { border:solid 8px white; min-height:100%; } #contentbox { width:860px; height:100%; } #content { height:100%; margin-left:170px; width:460px; float:left; background-image:url(../img/img_main.gif); background-repeat:no-repeat; background-color:#d3d3d3; } .clear{clear:both;display:block;} /* in ieder geval voor IE nog de double margin eruit halen */ |
Dit is al zover mogelijk uitgekleed. Een werkende testcase is aanwezig.
Als je de testcase bekijkt, dan zie je 2 problemen:
1. De pagina met weinig content scrollt altijd. Zelf vermoed (understatement) ik dat dit door de border van 8px op de #container komt.
Ik heb hierbij getracht met negative margins etc. te werken, maar het resultaat bleef het zelfde. Het zou dus eigenlijk height:100% - 8px aan de onderkant (even uitgeschreven
2. De pagina met veel content heb ik inmiddels werkend in IE6 en IE7 (exclusief het eerste probleem), maar FireFox wil nog niet echt meewerken. De content-background rekt dan niet mee.
Edit: probleem 2 heb ik inmiddels bijna opgelost. Nu is het dus alleen nog dat bij weinig content de hoogte in IE7 en FireFox geen 100% meer is. Dat komt door de min-height denk ik.
Allebei de problemen heb ik getest met IE6, IE7 en FireFox 2.0.0.1.
[ Voor 6% gewijzigd door TeeDee op 20-02-2007 11:29 ]
Heart..pumps blood.Has nothing to do with emotion! Bored