RE: [css3-animations] Effect of display:none and visibility:hidden on animations

I would expect the animation-play-state to be the property for this behavior as I do not think it is safe to assume that an initially suspended animation will always also be invisible.

With this caveat, I don't get how or why allowing display:none in @keyframes enables synchronization ?

From: Rik Cabanier [mailto:cabanier@gmail.com]
Sent: Tuesday, July 19, 2011 11:56 AM
To: Sylvain Galineau
Cc: www-style@w3.org
Subject: Re: [css3-animations] Effect of display:none and visibility:hidden on animations

I think WebKit's behavior is more useful since it lets you predefine an animation (with potentially nested animations) and then trigger it with 1 state change.

This is also why it would be very useful if 'display' was allowed in the keyframes structure. It would allow users to construct intricate animations that would stay in sync with each other.

Rik
On Sat, Jul 16, 2011 at 4:07 PM, Sylvain Galineau <sylvaing@microsoft.com<mailto:sylvaing@microsoft.com>> wrote:
The specification does not define what should happen for visibility:hidden or display:none. In the former case, one expects the animation to run and have the normal layout impact of a visibility:hidden element. This is the case in Webkit and Gecko.

There does not seem to be agreement for display:none yet; WebKit does not run the animation and applying display:none resets the animation. But getComputedStyle() indicates Gecko animates the specified properties when display is none.

WebKit's behavior is certainly performance-friendly; Gecko's is what I would expect though i.e. if my 2mn animation was script-based and the element had display:none for the first minute, setting display:block at the 61st second would reflect the state of the element at that point in the animation's timeline.

Thoughts ?

Received on Tuesday, 19 July 2011 22:22:40 UTC