Re: [css3-2d-transforms] Transformed object acts as containing block for fixed positioned descendants

On Tue, Oct 12, 2010 at 4:40 PM, Simon Fraser <smfr@me.com> wrote:
> On Oct 12, 2010, at 3:18 PM, Sylvain Galineau wrote:
>
>> In the introduction, it is said that:
>>
>>   # Any value other than 'none' for the transform results in the creation of both
>>   # a stacking context and a containing block. The object acts as a containing block
>>   # for fixed positioned descendants.
>>
>> I think we did agree earlier that this kind of normative statement should not be just intro material.
>> But I was more curious as to the intended meaning of the latter statement ? First the spec says
>> the transform creates a stacking context and containing block. What's the extra bit about fixed positioned
>> descendants for ?
>
> Imagine:
>
> <div style="transform: rotate(45deg)">
>  <div style="positon: fixed"></div>
> </div>
>
> When you scroll, what happens to the fixed position div?
>
> What this last sentence is saying is that the fixed position div is no longer positioned relative to the viewport,
> but relative to its transformed ancestor. Anything else would be very hard to implement, and to specify.

I'm not sure, but I think I'd expect the fixpos to not transform at
all, precisely because it's fixed.  Absposes would still transform,
because they're guaranteed to have a containing block equal to or
within the transformed element.

~TJ

Received on Wednesday, 13 October 2010 00:09:07 UTC