- From: Anton Prowse <prowse@moonhenge.net>
- Date: Thu, 04 Jun 2009 16:22:26 +0200
- To: "www-style@w3.org" <www-style@w3.org>
It seems to be part of CSS folklore that the following code <div class="outer"> <div class="inner"> <p>This is some text</p> </div> </div> .outer { width: 200px; height: 300px; } .inner { position: relative; top: 50% } .inner p { margin: 0; position: relative; top: -50%; } results in the appearance of "vertical centering" of the p within div.outer in IE6 but fails to do so in other browsers. Despite it being seemingly regarded as a bug, the IE6 behaviour looks correct to me: the top of div.inner is half-way down div.outer, and the top of div.inner p is pulled up by half the height of div.inner. However, in Fx3.5b4 and Op10b1, whilst the position:relative; top:50%; on div.inner is obeyed, the top:-50%; on the child p is ignored. CSS21 doesn't seem to permit ignoring the top:-50% here. Percentage values for 'top' refer to height of containing block, which, for static or relatively positioned elements, is formed by the content edge of the nearest block-level, table cell or inline-block ancestor box. It seems to me that UAs should be able to know what the height of div.inner is (despite it depending upon the height of its child p) and be able to honour top:x% on the child p. Am I misunderstanding the specified behaviour or underestimating the difficulty of implementing it? Cheers, Anton Prowse http://dev.moonhenge.net
Received on Thursday, 4 June 2009 14:23:40 UTC