- From: Andrew Fedoniouk <andrew.fedoniouk@live.com>
- Date: Sat, 1 Oct 2011 18:37:07 -0700
- To: "Sylvain Galineau" <sylvaing@microsoft.com>, "Boris Zbarsky" <bzbarsky@MIT.EDU>, <www-style@w3.org>
As an idea how to solve these and similar issues.
I've introduced :animating state flag in my implementation. This allows
to target properties like display, visibility, etc. while animating.
As an example:
li {
height: auto;
opacity: 1.0;
}
li.collapsed
{
height:0;
display:none;
transition: height 400ms linear;
}
li.collapsed:animating
{
overflow-y:hidden;
display: block;
}
As you see here I am saying that when element will get
.collapsed class its height will be gradually reduced to zero and
for the time of animation the element has overflow-y:hidden;
and is displayed as block (no bullet is shown for that time).
Therefore with :animating there is no need to define
how display, overflow, visibility transition. They are
just non-animatable.
As simple as that.
--
Andrew Fedoniouk
http://terrainformatica.com
-----Original Message-----
From: Sylvain Galineau
Sent: Saturday, October 01, 2011 5:47 PM
To: Boris Zbarsky ; www-style@w3.org
Subject: RE: [css3-animations] display:none, visibility:hidden and
animations
[Boris Zbarsky:]
>
> On 9/29/11 5:12 PM, Tab Atkins Jr. wrote:
> > I don't believe there are any issues. This is clearly the correct
> > model. There is no reason whatsoever for 'display' to have an effect
> > on what animations run.
>
> That requires UAs to always compute the value of animation properties on
> all elements, including in display:none subtrees.
>
> In particular, this requires performing selector matching and so forth on
> those elements, which is something UAs commonly optimize out now.
>
> I don't believe that this is desirable. Unless I'm missing something
> here?
>
> -Boris
I would agree that from an implementation standpoint, this is not optimal.
We should start with what behavior makes sense for authors, though. What do
you want display:none to do to an element's animation, or one running on a
child
of that element ? Should it pause the animation ? Stop it ? Same question
for
visibility:hidden.
Received on Sunday, 2 October 2011 01:37:36 UTC