[CSS] geneste absoluut gepositioneerde divs
Ik heb twee divs met beiden position:absolute; zodat ze in het midden (van links-naar-rechts-midden) staan:
#content {
width : 1000px;
position : absolute;
left : 50%;
margin-left : -500px;
border : solid 1px fuchsia;
}
.footerpics {
position : absolute;
bottom : 80px;
width : 900px;
left : 50%;
margin-left : -450px;
text-align : center;
border : solid 1px fuchsia;
}
De div.footerpics staat IN de div#content. En dat is het probleem. De div.footerpics wordt niet absoluut gepositioneerd (in IE, FF is niet boeiend). Hij neemt namelijk de grenzen van div#content als uitersten, en niet het document (zoals ik zou verwachten!)...
De div.footerpics wordt dus niet 80px boven de document rand geplaatst, maar 80px boven de onderkant van div#content.
Dit is toch precies wat position:absolute; tegen zou moeten gaan??
Het hoeft alleen te werken in IE6+.
Dank
#content {
width : 1000px;
position : absolute;
left : 50%;
margin-left : -500px;
border : solid 1px fuchsia;
}
.footerpics {
position : absolute;
bottom : 80px;
width : 900px;
left : 50%;
margin-left : -450px;
text-align : center;
border : solid 1px fuchsia;
}
De div.footerpics staat IN de div#content. En dat is het probleem. De div.footerpics wordt niet absoluut gepositioneerd (in IE, FF is niet boeiend). Hij neemt namelijk de grenzen van div#content als uitersten, en niet het document (zoals ik zou verwachten!)...
De div.footerpics wordt dus niet 80px boven de document rand geplaatst, maar 80px boven de onderkant van div#content.
Dit is toch precies wat position:absolute; tegen zou moeten gaan??
Het hoeft alleen te werken in IE6+.
Dank
Gesponsorde koppelingen:
als je in #content position absolute weghaalt doet hij het volgens mij wel
Maar het staat er niet voor niets in, die position:absolute; in #content, dus die kan ik niet weghalen!!
dan .footerpics niet in #content zetten?
Ook een geweldig antwoord. Als dat zou kunnen was er geen probleem. Maar dat kan dus niet. #content is namelijk alle content! En de div.footerpics valt onder content, dus in de div#content.
Meer?
Meer?
Als je een div element position: absolute meegeeft, dan kijkt je browser eerst even of hij toevallig nog een parent element heeft met position: absolute, of position: relative.
Zo ja, dan positioneert je browser die div ten opzichte van de parent. Zo nee, dan haalt je browser de div uit de "document flow" zoals dat heet, en legt hem min of meer "bovenop" de andere elementen.
Als je dus twee divs echt pixel perfect op een bepaalde plek wilt zetten, moet je ze allebei een position: absolute geven, maar zorgen dat de ene zich niet binnen de andere bevindt. Bij het opgeven van breedtes richten ze zich dan weer naar de viewport.
Zo ja, dan positioneert je browser die div ten opzichte van de parent. Zo nee, dan haalt je browser de div uit de "document flow" zoals dat heet, en legt hem min of meer "bovenop" de andere elementen.
Als je dus twee divs echt pixel perfect op een bepaalde plek wilt zetten, moet je ze allebei een position: absolute geven, maar zorgen dat de ene zich niet binnen de andere bevindt. Bij het opgeven van breedtes richten ze zich dan weer naar de viewport.
Gewijzigd op 01/01/1970 01:00:00 door Jan Koehoorn



