- From: Dean Jackson <dino@apple.com>
- Date: Wed, 12 Aug 2015 10:41:12 +1000
- To: Shane Stephens <shans@google.com>
- Cc: "Tab Atkins Jr." <jackalmage@gmail.com>, www-style list <www-style@w3.org>
- Message-Id: <F984E200-28E6-4E7F-A91C-6790B5B0E9FE@apple.com>
> On 12 Aug 2015, at 10:34 AM, Shane Stephens <shans@google.com> wrote: > > Side note: one of the ideas here was to allow a smooth animation between various keyframes. However, this is extremely difficult to hand-author, because any change in the keyframe duration (i.e. keyframe %) means you need to adjust the timing functions both earlier and later. It might be nice to have a timing function that tells the engine to smooth the animation. > > The web animations spec has this! (specifically, a global timing function that extends across the animation rather than between keyframes) Yes, it's nice. > > I'd love to see it in CSS too as it's really useful. I suppose we'd need a new animation-global-timing-function property or similar? Updating the shorthand would be .. interesting .. too. I don't think we'd need a new property, just new keywords. Let's say e.g. smooth-ease-in-out (not an actual proposal yet). That would operate over the largest possible range of keyframes. That is hopefully all of them, except if a keyframe does explicitly specify a timing function. Dean > > Cheers, > -Shane > > > Dean > > > > Append the transition endpoint to the list of transition endpoints. > > > > Divide the list of transition endpoints into a number of independent > > lists according to the property associated with the endpoint, > > maintaining the relative order. > > > > Stably sort each list by the selector of each endpoint. If the same > > selector occurs multiple times in a list, discard all but the last. > > If a list doesn't have a 0% endpoint, add one with the underlying > > value of the property from the element and the default timing function > > from the 'animation' property invoking the animation. Do the same if > > a list doesn't have a 100% endpoint. > > > > Create a list of transitions, initially empty. > > For each list of transition endpoint: > > For each overlapping pair¹ of transition endpoints in the list: > > Create a property transition for the property, with the start time > > and value from the first transition endpoint, end time and value from > > the second transition endpoint, and timing function from the first > > transition endpoint. > > Append the property transition to the list of transitions. > > > > The list of transitions thus produced defines the animation. > > > > ¹ That is, if the the list contains [1, 2, 3, 4], produce the pairs > > [1, 2], [2, 3], [3, 4]. > > > > ~TJ > > > >
Received on Wednesday, 12 August 2015 00:41:46 UTC