Re: [CSS3] What about "behavioral extensions to CSS"?


just like me, :). The "Behavioral Extensions to CSS" would be beneficial
for many applications! I just finished my diploma thesis about extending
CSS with dynamic document rendering features (supervisor François Bry).

The set of extensions is called CSS^NG. CSS^NG is rather similar to the
"Behavioral Extensions to CSS". The main goal of CSS^NG is to make
scripting languages unnecessary for as many applications as possible.
The following examples demonstrate one feature of CSS^NG:

---- Example 1: Dynamic Styling --------------------------
a:onclick(1) { color: green; }

After one click on an HTML anchor its color changes to green.

---- Example 2: Dynamic Styling using CSS Combinators ----
tab:onclick(2n+1) + * { display:none; }
tab:onclick(2n+2) + * { display:block; }

After an _odd_ number of clicks on a tab element
	the following sibling is _"folded"_ and
after an _even_ number of clicks on a tab element
	the following sibling is _"unfolded"_.

These examples are taken from the following paper:

The diploma thesis with details on CSS^NG can be found here:

I hope that CSS^NG can revive the discussion on dynamic styling of Web

Kind regards,

Christoph Wieser

Jordan OSETE wrote:
> Hello everyone,
> I was wondering what was going on about the "Behavioral extensions to
> CSS" working draft [1]. It hasn't been updated since 1999, but it seems
> very interresting extensions to me.
> Specifically, in the first part, the "Event Properties", and "Script
> blocks" paragraphs seem to me quite stable, and maybe not too hard to
> implement by user agents (since they only use existing technologies: CSS
> parser, script interpreter, and events). It would also help
> webdeveloppers a lot.
> Why hasn't this WD been updated since then? Is no one in the W3C
> interested in it, or is it because of technical difficulties at the time?
> The "Open issues" part at the end of the document says that:
> 1.    it depends on the DOM Level 2, wich was a WD at the time, but is
> now a Recommendation, so this point is now useless, and that
> 2.    the order of event handler invocation needs to be specified (in
> wich order the DOM events, events specified in HTML attributes and
> events specified in CSS will be called). I don't know if it is that
> important to specify a specific order now. Maybe it could be left to the
> UA, or if the developper really needs a specific order (wich will
> probably be very rare), he would tell it in the CSS. I see 2 easy ways
> to do this:
>   a) on a per-event basis, after the quoted script, like this:
>     onclick: "myEventListener(this)" order(attrEvents, CSSEvents,
> DOMEvents);
>   b) Or on an element basis:
>     div {
>       onclick: "handleClick(this)";
>       onmouseover: "handleMouseOver(this)";
>       eventsorder: attrEvents, CSSEvents, DOMEvents;
>     }
> Hope it helps.
> Jordan Osete
> ---
> [1]

Received on Friday, 5 May 2006 15:13:20 UTC