- From: Nemeséri András <andris@nemeseri.com>
- Date: Wed, 13 Jan 2010 23:34:38 +0100
- To: Sylvain Galineau <sylvaing@microsoft.com>
- Cc: www-style@w3.org
If you set the animation-duration to 0 there will be no movement at all. Because the animation "loop" will be finished in 0 second. Try these examples in a webkit based browser: CSS3 animation with animation-duration set to "2s": http://nemeseri.com/cssanimation/cssanimation_1.html CSS3 animation with animation-duration set to "0": http://nemeseri.com/cssanimation/cssanimation_2.html In the second case there isn't any animation. You said: "tou can set animation-duration of 0 and animation-delay of 1s on each frame" How can I set animation-duration or animation-delay on each frame? The specification says that the "animation-timing-function" is the only animation related css property which can be set on keyframes: http://www.w3.org/TR/css3-animations/#animation-timing-function_tag I have tried to set animation-delay and animation-duration on the keyframes with no luck. I'm still searching for a working method to do a simple 3 step animation without smooth animation between the steps. Now there is this a great specification which make it possible to animate without javascript. I don't want to use js to make a 3 step movement just because I want it without smoothing. Thanks, Andras Nemeseri On Jan 12, 2010, at 21:33 , Sylvain Galineau wrote: > If you want the user to notice the top property going through 0, 50 > and 150px then this imply an animation duration and thus the choice > of a timing function for each leg of the animation. If you want the > values to transition immediately tou can set the animation-duration > to 0 but the visible result will be that top property will appear to > go from 0 to 150px. > > Now, should you want each of the 3 steps to occur over, say, a three- > second interval with no smoothing of the progression in between them > i.e. the top property is 0, then 50 then 150, then I think the > solution would be to set an animation-duration of 0 and animation- > delay of 1s on each frame. The zero duration says the change is > immediate, the delay postpones it by the desired timeframe. > > From: www-style-request@w3.org [mailto:www-style-request@w3.org] On > Behalf Of Andras Nemeseri > Sent: Monday, January 11, 2010 9:00 AM > To: www-style@w3.org > Subject: [css3-animation] keyframes without animations > > How can I define "keyframes" without animation? > I don't want an "animation-timing-function" controlled animation, > instead I would like to simply change CSS properties in the key > frames (without any animation effects). > > It would be usable if the "animation-timing-function" property had a > "none" value. > > # @keyframes 'frames' { > # > # from { > # top: 0; > # animation-timing-function: none; > # } > # > # 50% { > # top: 50px; > # animation-timing-function: none; > # } > # > # to { > # top: 150px; > # } > # > # } > > In the upper case, the "animated" element would jumps from 0 to > 50px, then from 50px to 150px without any animation. > > Is there any CSS based solution to this problem? (or do I still need > javascript to do a simple 3 (or more) step CSS value change?) > > Thanks, > Andras Nemeseri
Received on Wednesday, 13 January 2010 22:36:18 UTC