Aaargh, ik wordt helemaal gek hier. Eerst eens even een voorbeeldje van wat ik wil:

Oftewel, een header, een menu, een stukje content en een footer. Het menu heeft een achtergrond-kleur, en de bedoeling is dat de div met dat menu erin, meestretched als de content langer is dan het menu.
Het menu en de content heb ik in een containing div geplaatst, en die containing div is -net zoals de header en footer- relatief gepositioneerd.
Wat ik nu heb gedaan, is het menu en de content ook allebei relatief positioneren, en daarbij de containing div een background-image geven, zodat het in principe niet uitmaakt hoe hoog het menu is, aangezien de containing div een background-image heeft die verticaal gerepeat wordt.
Dit is de source die ik gebruik:
..met de bijbehorende styles:
Dit werkt in IE6 en in recente Mozilla en Firebird browsers. Echter, nu Het Grote Probleem: ik heb niet de volle controle over wat er in de content-div komt te staan. Met als probleem dat wanneer de content breder wordt dan 575 pixels, deze div meerekt en in plaats van naast het menu, onder het menu gepositioneerd wordt, en dat is dus iets dat ik niet wil.
Nou vraag ik me 2 dingen af:
1) is het mogelijk om het toch op deze manier op te lossen, maar met wellicht iets andere manier om de menu & content-divs te positioneren?
2) is het wellicht mogelijk om menu & content op de een of andere manier absoluut te positioneren, en daarbij toch menu en content even lang te laten zijn (ivm die background achter menu), zonder daarvoor JS ofzo te hoeven gebruiken?

Oftewel, een header, een menu, een stukje content en een footer. Het menu heeft een achtergrond-kleur, en de bedoeling is dat de div met dat menu erin, meestretched als de content langer is dan het menu.
Het menu en de content heb ik in een containing div geplaatst, en die containing div is -net zoals de header en footer- relatief gepositioneerd.
Wat ik nu heb gedaan, is het menu en de content ook allebei relatief positioneren, en daarbij de containing div een background-image geven, zodat het in principe niet uitmaakt hoe hoog het menu is, aangezien de containing div een background-image heeft die verticaal gerepeat wordt.
Dit is de source die ik gebruik:
code:
1
2
3
4
5
6
7
8
| <div id="header">woei</div>
<div id="container">
<div id="menu">melp</div>
<div id="content">knel</div>
</div>
<div id="footer">vvt</div> |
..met de bijbehorende styles:
code:
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
| div#header {
position : relative;
width : 760px;
border : 1px solid #000000;
}
div#container {
position : relative;
width : 760px;
border : 1px solid #000000;
background-image : url('images/bg_content.gif');
background-repeat : repeat-y;
}
div#container div#menu {
position : relative;
float : left;
width : 180px;
}
div#container div#content {
position : relative;
float : right;
width : 575px;
}
div#footer {
position : relative;
width : 760px;
border : 1px solid #000000;
} |
Dit werkt in IE6 en in recente Mozilla en Firebird browsers. Echter, nu Het Grote Probleem: ik heb niet de volle controle over wat er in de content-div komt te staan. Met als probleem dat wanneer de content breder wordt dan 575 pixels, deze div meerekt en in plaats van naast het menu, onder het menu gepositioneerd wordt, en dat is dus iets dat ik niet wil.
Nou vraag ik me 2 dingen af:
1) is het mogelijk om het toch op deze manier op te lossen, maar met wellicht iets andere manier om de menu & content-divs te positioneren?
2) is het wellicht mogelijk om menu & content op de een of andere manier absoluut te positioneren, en daarbij toch menu en content even lang te laten zijn (ivm die background achter menu), zonder daarvoor JS ofzo te hoeven gebruiken?
offtopic:
Ik blijf nog steeds bij dat het W3C niet goed heeft nagedacht over een logische manier van div's positioneren. Hét grootste manco vind ik nog steeds dat wanneer een containing div alleen maar absoluut gepositioneerde div's bevat, die containing div niet daadwerkelijk z'n child-div's omvat, maar gewoon een hoogte van 1 px krijgt.
Ik blijf nog steeds bij dat het W3C niet goed heeft nagedacht over een logische manier van div's positioneren. Hét grootste manco vind ik nog steeds dat wanneer een containing div alleen maar absoluut gepositioneerde div's bevat, die containing div niet daadwerkelijk z'n child-div's omvat, maar gewoon een hoogte van 1 px krijgt.