Ik liep net tegen een probleempje aan waar ik wat meer informatie achter wilde zoeken. Het had te maken met een element dat absoluut gepositioneerd is in een ander element (met een vaste breedte) die dat niet is, en die zelf een breedte van 100% heeft. Nu verwachte ik al dat hij 100% van het document zou aannemen, dit gebeurde in Fx, Opera en IE7 ook, echter in IE6 niet. Ik wilde eigenlijk wel weten wat de specificatie op dit gebied nu te vertellen heeft, maar daar word ik niet echt veel wijzer van.
De specificatie zegt dat een element, bij een procentuele waarde, de breedte berekent aan de hand van zijn 'containing block' (ik neem aan dat dit in dit geval altijd de 'content box' van zijn parent is). Als hij echter absoluut gepositioneerd is en zijn 'containing block' is gebaseerd op een block level element dan wordt de breedte berekent aan de hand van de 'padding box' van dat element.
Je kunt er hier meer over lezen. Het gaat dan met name over de groene tekst.
Zoals ik het interpreteer houd dit in dat als je een container element hebt met een bepaalde breedte en een padding (de 'padding box' is dan de breedte plus de padding) en je een element daarin hebt die absoluut gepositioneerd is en een breedte van 100% heeft, dat dit laatste element de breedte krijgt van de 'padding box' van de container.
Dit heb ik getest en dit blijkt niet zo te zijn. Zoals je boven namelijk al kunt lezen pakt hij de breedte van het document. Het test document kun je hier vinden. Ik wil graag weten op welk punt ik nu de fout in ga. Ik vermoed dat de 'containing block' altijd het HTML of BODY element wordt als een element absoluut gepositioneerd is. Echter slaat die groene tekst dan nergens meer op, want beiden kunnen naar mijn idee geen 'padding box' hebben. Niet zoals een normaal element althans.
De specificatie zegt dat een element, bij een procentuele waarde, de breedte berekent aan de hand van zijn 'containing block' (ik neem aan dat dit in dit geval altijd de 'content box' van zijn parent is). Als hij echter absoluut gepositioneerd is en zijn 'containing block' is gebaseerd op een block level element dan wordt de breedte berekent aan de hand van de 'padding box' van dat element.
Je kunt er hier meer over lezen. Het gaat dan met name over de groene tekst.
Zoals ik het interpreteer houd dit in dat als je een container element hebt met een bepaalde breedte en een padding (de 'padding box' is dan de breedte plus de padding) en je een element daarin hebt die absoluut gepositioneerd is en een breedte van 100% heeft, dat dit laatste element de breedte krijgt van de 'padding box' van de container.
Dit heb ik getest en dit blijkt niet zo te zijn. Zoals je boven namelijk al kunt lezen pakt hij de breedte van het document. Het test document kun je hier vinden. Ik wil graag weten op welk punt ik nu de fout in ga. Ik vermoed dat de 'containing block' altijd het HTML of BODY element wordt als een element absoluut gepositioneerd is. Echter slaat die groene tekst dan nergens meer op, want beiden kunnen naar mijn idee geen 'padding box' hebben. Niet zoals een normaal element althans.