De situatie is als volgt:
Ik heb 2 divs. Éen achtergrondlaag en één voor de voorgrond (die kleiner is, dus de achtergrondlaag is eromheen zichtbaar). Deze lagen wil ik zowel horizontaal als verticaal in het beeld centreren. Met behulp van CSS absolute positionering en margins lukt dat prima. Maar als ik het scherm verklein in hoogte, zodat die minder is dan de hoogte van de lagen, dan schuift de bovenkant van de lagen buiten beeld. Dat wil ik niet.
Wat is de bedoeling: de voorgrond moet minimaal een toppositie van 0px behouden, zodat ie niet verdwijnt aan de bovenkant, maar als het ware blijft hangen bij het (kleiner) resizen. De achtergrondlaag mag wel gedeeltelijk verdwijnen.
Link naar code
Ik heb gepoogd dit probleem op te lossen door:
- body op 100% te zetten, display: table-cell en vertical-alignment:middle;
- de DIVs in een laag te zetten met dezelfde genoemde eigenschappen;
- een table eromheen te zetten die voor de centrering zorgt;
Maar niets lost het positioneringsprobleem op. De table kan niet gecombineerd worden met absolute positionering van DIVs (die wel nodig is omdat ze over elkaar heen staan).
Volgens mij moet het toch mogelijk zijn met behulp van een moederlaag, waarin beide lagen horizontaal en verticaal gecentreerd worden, maar ook een bovengrens krijgen omdat de moederlaag ze als het ware tegenhoudt.
Dus mijn vraag is: kan dit? En zo nee, wat is dan het meest voor de hand liggende alternatief? Het dient om een website te centreren zoals dat "vroeger" altijd ging met frames... Volgens mij moet het gewoon kunnen, maar vooralsnog krijg ik niet echt grip op het gedrag van die DIVs.
Ik heb 2 divs. Éen achtergrondlaag en één voor de voorgrond (die kleiner is, dus de achtergrondlaag is eromheen zichtbaar). Deze lagen wil ik zowel horizontaal als verticaal in het beeld centreren. Met behulp van CSS absolute positionering en margins lukt dat prima. Maar als ik het scherm verklein in hoogte, zodat die minder is dan de hoogte van de lagen, dan schuift de bovenkant van de lagen buiten beeld. Dat wil ik niet.
Wat is de bedoeling: de voorgrond moet minimaal een toppositie van 0px behouden, zodat ie niet verdwijnt aan de bovenkant, maar als het ware blijft hangen bij het (kleiner) resizen. De achtergrondlaag mag wel gedeeltelijk verdwijnen.
Link naar code
Ik heb gepoogd dit probleem op te lossen door:
- body op 100% te zetten, display: table-cell en vertical-alignment:middle;
- de DIVs in een laag te zetten met dezelfde genoemde eigenschappen;
- een table eromheen te zetten die voor de centrering zorgt;
Maar niets lost het positioneringsprobleem op. De table kan niet gecombineerd worden met absolute positionering van DIVs (die wel nodig is omdat ze over elkaar heen staan).
Volgens mij moet het toch mogelijk zijn met behulp van een moederlaag, waarin beide lagen horizontaal en verticaal gecentreerd worden, maar ook een bovengrens krijgen omdat de moederlaag ze als het ware tegenhoudt.
Dus mijn vraag is: kan dit? En zo nee, wat is dan het meest voor de hand liggende alternatief? Het dient om een website te centreren zoals dat "vroeger" altijd ging met frames... Volgens mij moet het gewoon kunnen, maar vooralsnog krijg ik niet echt grip op het gedrag van die DIVs.
“Advertising says to people, 'Here's what we've got. Here's what it will do for you. Here's how to get it.'”