W3C home > Mailing lists > Public > www-style@w3.org > June 2009

Re: [css3-transitions] transitions and rendering objects vs. DOM nodes

From: Giovanni Campagna <scampa.giovanni@gmail.com>
Date: Mon, 29 Jun 2009 16:29:59 +0200
Message-ID: <65307430906290729g68462f6axf26f4c8c29519187@mail.gmail.com>
To: David Hyatt <hyatt@apple.com>
Cc: robert@ocallahan.org, "L. David Baron" <dbaron@dbaron.org>, www-style@w3.org
2009/6/29 David Hyatt <hyatt@apple.com>:
> On Jun 28, 2009, at 11:12 PM, Robert O'Callahan wrote:
>
> On Sat, Jun 27, 2009 at 11:44 AM, L. David Baron <dbaron@dbaron.org> wrote:
>>
>> I have another question about transitions that I think ought to be
>> addressed in the spec ( http://dev.w3.org/csswg/css3-transitions/ ),
>> though in this case I'm not exactly sure how it should be addressed
>> in the spec.
>>
>> This is the question of whether transition should be associated with
>> a change in style on a content node, or a change in style on a
>> rendering object (a box).  Either solution poses a bunch of
>> problems.
>>
>> If transitions are associated with the style on an element (DOM
>> node), then we have problems in any case where a content node has
>> more than one style.  The main case of this I can think of is
>> pseudo-elements.  For example, I think it's hard to do something
>> sensible with:
>>  p { color: gray; }
>>  p::first-line { color: black; }
>>  p:hover { color: blue; }
>>  p:hover::first-line { color: aqua; }
>>  a { transition: 3s color; }
>> then it's really not clear what the transition on the anchor should
>> be when the p goes into the :hover state (either when the anchor is
>> split between the first line and the second, or when the anchor is
>> entirely in the first line).
>
> How about: if an element has a first-line or first-letter rule setting a
> property on it, then transitions on that property are disabled for the
> element and all its descendants.
>
> I'm not understanding why transitions can't be made to work on first-line
> and first-letter?
> dave
> (hyatt@apple.com)
>

Because in that case you would have two starting values and two ending
values, one for the part of element that inherits from ::first-line,
the other from the part of element that inherits from the element
directly, whereas transitions expect one.

The same happens with ::first-letter, although it is rare, because
most often the pseudo-element is contained completely inside one
element. You need punctuation across elements to get this problem.
If the innermost approach is used for text-level pseudo-element
(including ::first-letter but also ::selection and possibly others),
this is a non-issue, since nothing can inherit from such
pseudo-elements.

Giovanni
Received on Monday, 29 June 2009 14:30:39 GMT

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