W3C home > Mailing lists > Public > www-style@w3.org > October 2010

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

From: Tab Atkins Jr. <jackalmage@gmail.com>
Date: Tue, 12 Oct 2010 17:08:15 -0700
Message-ID: <AANLkTikZk-SkSVihGdNVGHQpUhWwHbNszDbvnCY0jOgq@mail.gmail.com>
To: Simon Fraser <smfr@me.com>
Cc: Sylvain Galineau <sylvaing@microsoft.com>, "www-style@w3.org list" <www-style@w3.org>
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 GMT

This archive was generated by hypermail 2.3.1 : Tuesday, 26 March 2013 17:20:32 GMT