Hi Philippe,

I have put a new test file on 
http://lahall.se/test/test-top-percentage.html

> How much offset for top do you actually expect ?

Half (50%) of the DIV's height (both DIVs have the same height as the
outer DIV adapts to the inner DIV's size).

> CSS 2.1, 9.3.2 Box offsets
> For 'top'
> <quote>
> Percentages:          refer to height of containing block
> </quote>
> But the height of the containing block [1] in this case depends on  
> the element itself (the height is auto), which makes the whole thing  
> pretty much undefined.

The height of the outer DIV is calculated using the rules in 10.6.4
and 10.6.7 so it gets a size adapted to fitting its children. Looking
at the green border indicates that this works correctly.

Or are you saying that the height of the containing block used for
positioning will be different from the calculated size of the actual
element? This doesn't seem to be the case as the other, absolutely 
pos'd, child DIV finds bottom:0 nicely.

Also, what is strange is that standard browsers do use the calculated
width for the "left: -50%" shift. I would have been less surprised if
none of the shifts had worked...

> Then, regarding the computed values for relative positioned boxes,  
> 9.3.2 makes an explicit reference to 9.4.3 [2].
> Result: unless the absolute positioned has a height explicitly  
> declared, the rel. pos. box won't move.

9.4.3 mainly concerns the case when top hasn't been assigned a value
("auto"), right? The relative child has been assigned a top value 
(-50%) so the browser shouldn't have to find out a computed value
in that sense? (Sorry if misunderstanding this)

Anyway, I don't find how top and left are handled differently here
either, so why left gives an effect, but not top, is still a mystery
to me...

> of course, you could make the rel.pos. box an absolute positioned  
> box, and solve the issue.

Unfortunately not, as I need the inner DIV stay relative to have it 
control the size of the parent. The content presented inside the
inner DIV could be of different sizes, and I want it to move halfway
up and left. Then the outer DIV / containing block needs to be of 
the same (unknown) size which is accomplished by using a static or
relative child.

Many thanks for your input. I really hope we can make some sense out
of this!
Best regards
Mike

BTW: Just joining the list on Monday it seems my posts are not 
getting through to everybody (can't see my posts in the public
archive). Is this normal?

______________________________________________________________________
css-discuss [EMAIL PROTECTED]
http://www.css-discuss.org/mailman/listinfo/css-d
IE7 information -- http://css-discuss.incutio.com/?page=IE7
List wiki/FAQ -- http://css-discuss.incutio.com/
Supported by evolt.org -- http://www.evolt.org/help_support_evolt/

Reply via email to