- From: Andrew Fedoniouk <news@terrainformatica.com>
- Date: Mon, 5 Apr 2010 09:48:08 -0700
- To: "www-style list" <www-style@w3.org>, "Lars Gunther" <gunther@keryx.se>, "Anne van Kesteren" <annevk@opera.com>
--------------------------------------------------
From: "Anne van Kesteren" <annevk@opera.com>
Sent: Monday, April 05, 2010 9:07 AM
To: "www-style list" <www-style@w3.org>; "Lars Gunther" <gunther@keryx.se>
Subject: Re: Are CSS animations a done deal?
> On Mon, 05 Apr 2010 17:22:37 +0200, Lars Gunther <gunther@keryx.se> wrote:
>> 2010-04-05 11:08, Anne van Kesteren skrev:
>>> Personally I think moving away from specifying style information in
>>> script to just specifying class name changes is actually an improvement.
>>> That way the style information stays neatly separated from the script
>>> and can be changed by designers who might not be involved with the
>>> scripting layer of the site at all.
>>
>> What I am proposing, declarative animation in JS using JSON, looks very
>> much like CSS, thus has a low barrier to learning.
>
> It also re-invents CSS syntax elsewhere for no good reason. It actually
> has a higher barrier to entry for designers, who would need to learn
> ECMAScript. It also fails to separate logic and style, by putting all
> kinds of stylistic information in the scripting layer. E.g. colors, etc.
>
>
>> It is equally separated logic-wise and keeps all advantages of the
>> current proposal.
>
> I disagree.
>
transitions is definitely a part of CSS but animations are doubtful.
Here is practical example (in script, sorry):
const STARTUP_SEQUENCE_DURATION = 800; // ms
const STARTUP_SEQUENCE_RULES = [
{ selector: "ul#category_list>li:nth-child(1)", start: 0 }, // un folding
panels
{ selector: "ul#category_list>li:nth-child(2)", start: 30 },
{ selector: "ul#category_list>li:nth-child(3)", start: 60 },
{ selector: "div#footer button", start: 80, end:100 } ]; // group of
buttons at the bottom
Sequence("startup", STARTUP_SEQUENCE_DURATION, STARTUP_SEQUENCE_RULES);
Function Sequence() here triggers set of transitions (defined in CSS) for
various elements
of the DOM. As you see sequence here is a group of *different* DOM
elements, each of them
is running its own transition. Current animation spec does not allow to
define such group.
Example of transition defined in CSS:
ul#category_list>li
{
height:33%;
opacity:1.0;
}
/* startup animation */
ul#category_list>li[sequence="startup"][sequence-state="initial"]
{
overflow:hidden;
height:0%;
opacity:0.0;
}
ul#category_list>li[sequence="startup"][sequence-state="started"]
{
transition: height(linear, 0.4s,none)
opacity(quad-in, 0.4s,none);
}
--
Andrew Fedoniouk
http://terrainformatica.com
Received on Monday, 5 April 2010 16:48:37 UTC