- From: Boris Zbarsky <bzbarsky@mit.edu>
- Date: Thu, 14 Jul 2005 23:53:04 -0500
- To: www-style Mailing List <www-style@w3.org>
At the moment, the definition of containing block for an abs pos element has a subtlety that a lot of implementors seem to have missed... In particular, the definition says: 1. In the case that the ancestor is block-level, the containing block is formed by the padding edge of the ancestor. 2. In the case that the ancestor is inline-level, the containing block depends on the 'direction' property of the ancestor: 1. If the 'direction' is 'ltr', the top and left of the containing block are the top and left content edges of the first box generated by the ancestor, and the bottom and right are the bottom and right content edges of the last box of the ancestor. Note that a block-level positioned ancestor, the padding edge forms the containing block, while for an inline-level one it's the content edge. From what I can tell, Opera 8.01 and IE/Win 6.0 both use the padding edge in both cases. I'm told that so does Safari 2.0. Gecko 1.7 definitely does. Current Gecko 1.8 builds are following this part of the spec correctly, and we're getting bug reports because sites are assuming the buggy behavior all existing browsers have.... Given all that, would it make sense to change the specification to always use the padding edge? I'd really appreciate a quick resolution to this if possible, since I'd hate to ship what the spec currently says in 1.8 and then have to revise it back to the old behavior in 1.9 if the spec changes at that point. -Boris
Received on Friday, 15 July 2005 04:53:08 UTC