W3C home > Mailing lists > Public > www-style@w3.org > February 2012

Property proxies / CSS setters

From: Paul Bakaus <pbakaus@zynga.com>
Date: Thu, 9 Feb 2012 08:47:20 -0800
To: "www-style@w3.org" <www-style@w3.org>
CC: Lea Verou <leaverou@gmail.com>
Message-ID: <CB59B728.15A12%pbakaus@zynga.com>
Hi everybody,

There's been a lot of heat again regarding vendor prefixes, and this email
serves as a proposal to get rid of the problem - but not of vendor
prefixes - once and for all.

I am proposing the addition of something I am calling CSS property
proxies, or alternatively, CSS setters. The basic idea is to have CSS
track a property (i.e. "transform") and define how it should behave for
that property. This is in some way a little similar to the mixin concept,
but more restricted to the actual property.

Actual Syntax could look similar like this, allowing a property to proxy
to more than one properties:

@proxy transform(a b c) {
	-webkit-transform: @all;
}

By default, you would use pseudo variables passed through (space separated
from the original), but there would be a special keyword (like the @all)
above that simply forwards the whole thing.

Or, if this looks too much like mixins, something like this might work as
well:

@proxy transform(a b c) -webkit-transform(a b c)

This is obviously all not fully fledged out (not sure how to make it
generic enough to be able to pass through any args), but a quick Twitter
exchange round got a lot of people excited, so I want to open discussion
here to understand if something similar has ever been proposed, and if
there's potential. With very few lines of code, library authors could
build CSS with this that gets rid of the vendor problem, and can be
upgraded at any time - therefore, it doesn't destroy the purpose of
prefixes.

Thinking forward, the only way to implement this in a sane fashion is to
implement this very feature *without* vendor prefixes, as notable
exception to other upcoming CSS features (or it would destroy its purposes
itself, ha). This would likely need a push from all browser vendors.

Feedback?

Thanks,
Paul
Received on Thursday, 9 February 2012 16:47:54 GMT

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