- From: Lea Verou <leaverou@gmail.com>
- Date: Tue, 27 Sep 2011 11:20:30 +0300
- To: Chris Marrin <cmarrin@apple.com>
- CC: www-style list <www-style@w3.org>
- Message-ID: <4E81874E.2060304@gmail.com>
On 26/9/11 20:11, Chris Marrin wrote: > > On Sep 22, 2011, at 5:06 PM, Lea Verou wrote: > >> Every time I've had to create an animation, I've had to count the >> keyframes and divide 100% by that number. If I add another keyframe, >> all percentages have to be recalculated. See this one for example >> (from http://leaverou.me/csss/#animation-demo ): >> >> @keyframes rainbow { >> from, to { background: red } >> 16% { background: yellow } >> 33% { background: green } >> 50% { background: aqua } >> 66% { background: blue } >> 83% { background: fuchsia } >> } >> >> #animation-demo { animation: 30s rainbow infinite; } >> >> We solved this problem for gradient color stops, by allowing color >> stops without a percentage. These color stops just evenly divide the >> space that's available. >> >> I was thinking, we could do something similar for animation >> keyframes, by allowing numbers to be specified instead of >> percentages. For example the above animation could become: >> >> @keyframes rainbow { >> from, to { background: red } >> 2 { background: yellow } >> 3 { background: green } >> 4 { background: aqua } >> 5 { background: blue } >> 6 { background: fuchsia } >> } > > If feels like we'd have to come up with a lot of rules about missing > numbers, mixed numbers and percentages, etc. Maybe it would be better > to simply omit the numbers? Then the rule could simply be that an > omitted percentage value takes a value that is evenly spaced between > the previous and next percentage value. It would allow: > > from { } > { } > { } > 50% { } > { } > { } > to { } > > Now you'd have keyframes at 0%, 16.7%, 33.3%, 50%, 66.7%, 83.3% and > 100%. If there are no percentage values the first and last would be 0 > and 100% and the rest would space out evenly. Of course the simple > rule doesn't handle out-of-order percentages, and I'm not sure what to > do about that. But I like this better because, in the simple case of > increasing percentages, the syntax is less confusing. And it allows > for a more obvious combination of rules with and without percentages. > > ----- > ~Chris > cmarrin@apple.com <mailto:cmarrin@apple.com> > > > > I see a few problems with that approach: - Inconsistent syntax, both with the rest of the keyframes and with the rest of CSS in general. - The order in which keyframes are declared doesn't currently matter. With this change, it will start to. - Keyframes can't be combined. For example, if you want the 4th and 6th keyframe to be the same, you will have to redefine them or use percentages. -- Lea Verou (http://leaverou.me | @LeaVerou)
Received on Tuesday, 27 September 2011 08:21:06 UTC