[CSS]Menu: header, content en footer-met-variabele-lengte
Allereerst maar even een 'plaatje', voor de duidelijkheid:
situatie
Ik ben bezig met een webapp, waarin aan de linkerkant van het scherm een panel (fixed-height div) in het midden staat.
Aan de bovenkant van deze div staat
• een div (fixed-height) met twee 2 controls ('tabbladen'), die de inhoud van het content-divje aanpassen.
• een div met content (variabel in lengte)
• een div met navigatie-knoppen ('vorige-volgende' en nul tot 3 invoervelden en daardoor ook variabel in lengte)[/li]
(de invoervelden zouden desgewenst in een ander divje kunnen, maar zijn in aantal nog steeds variabel)
Ik zie op het forum al allemaal problemen bij mensen die proberen een fixed-length header en footer te gebruiken (ik gebruikte deze termen in de topictitle ook voor de beide control-divjes in het menu).
gewenste situatie
• De menu-header en de menu-footer zijn altijd volledig zichtbaar en de content gebruikt de overige ruimte en heeft een scrollbar als hij niet volledig zichtbaar is.
• De menu-footer hangt altijd tegen de onderkant van het panel.
probleem
Ik krijg het niet voor elkaar om de content div goed te positioneren.
Tenzij ik een vaste hoogte opgeef, helpt het toevoegen van een scrollbar niets en ik weet niet wat de vaste hoogte moet zijn, omdat die afhangt van de grootte van de menu-footer. Als ik een andere hoogte opgeef, bv 100% (heeft geen effect zonder position:absolute en let daarna nog steeds niet op de menu-footer) of auto (doet uberhaupt niets), blijft de content doorlopen, voorbij het omsluitende panel.
Ik zit al twee dagen te spelen met (vooral) display, position, height en overflow attributen, maar krijg het nog steeds niet voor elkaar.
Allereerst maar even een 'plaatje', voor de duidelijkheid:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
| ________________________________________________________ | HEADER | |_______________________________________________________| _______________________ _____________________________ | TAB1 | TAB2 | | | |______________________| | | | | | //rest van app | | Content | | | | | | | | | | | |______________________| | | | [input field 1] | | | | | | | | <prev | next> | | | |______________________| |_____________________________| ________________________________________________________ | FOOTER | |_______________________________________________________| |
situatie
Ik ben bezig met een webapp, waarin aan de linkerkant van het scherm een panel (fixed-height div) in het midden staat.
Aan de bovenkant van deze div staat
• een div (fixed-height) met twee 2 controls ('tabbladen'), die de inhoud van het content-divje aanpassen.
• een div met content (variabel in lengte)
• een div met navigatie-knoppen ('vorige-volgende' en nul tot 3 invoervelden en daardoor ook variabel in lengte)[/li]
(de invoervelden zouden desgewenst in een ander divje kunnen, maar zijn in aantal nog steeds variabel)
Ik zie op het forum al allemaal problemen bij mensen die proberen een fixed-length header en footer te gebruiken (ik gebruikte deze termen in de topictitle ook voor de beide control-divjes in het menu).
gewenste situatie
• De menu-header en de menu-footer zijn altijd volledig zichtbaar en de content gebruikt de overige ruimte en heeft een scrollbar als hij niet volledig zichtbaar is.
• De menu-footer hangt altijd tegen de onderkant van het panel.
spoiler:
Bullet 2, hierboven vereist (afaik) dat de menu-footer op zijn minst deze layout krijgt:
position:absolute;bottom:0px;
Als de footer absoluut is gepositioneerd, gaat de content-div over de footer heen lopen. Het aanpassen van de z-index zorgt daarbij niet voor een andere uitlijning.
position:absolute;bottom:0px;
Als de footer absoluut is gepositioneerd, gaat de content-div over de footer heen lopen. Het aanpassen van de z-index zorgt daarbij niet voor een andere uitlijning.
probleem
Ik krijg het niet voor elkaar om de content div goed te positioneren.
Tenzij ik een vaste hoogte opgeef, helpt het toevoegen van een scrollbar niets en ik weet niet wat de vaste hoogte moet zijn, omdat die afhangt van de grootte van de menu-footer. Als ik een andere hoogte opgeef, bv 100% (heeft geen effect zonder position:absolute en let daarna nog steeds niet op de menu-footer) of auto (doet uberhaupt niets), blijft de content doorlopen, voorbij het omsluitende panel.
Ik zit al twee dagen te spelen met (vooral) display, position, height en overflow attributen, maar krijg het nog steeds niet voor elkaar.
[ Voor 0% gewijzigd door SilentStorm op 20-10-2009 14:25 . Reden: [code] tags werken niet in spoiler, [li] werkt niet met [*] ]
Localhost is where the heart is