W3C home > Mailing lists > Public > www-style@w3.org > April 2010

Re: Are CSS animations a done deal?

From: Andrew Fedoniouk <news@terrainformatica.com>
Date: Mon, 5 Apr 2010 09:48:08 -0700
Message-ID: <96B1C81C0E9E4BBFA22014995AE5C056@terra3>
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 GMT

This archive was generated by hypermail 2.3.1 : Tuesday, 26 March 2013 17:20:26 GMT