Re: [css3-*] Review of functional syntax in CSS

On Jan 23, 2012, at 6:31 AM, Brian Kardell <bkardell@gmail.com> wrote:

> -webkit-foo: bar(1,2,3,4);
> foo: bar(1,2,3,4);
> 
> is that the webkit-foo would become incompatible simply wouldn't make
> sense... It is the bar function that would become incompatible...
> Right?  It seems to me that that is not what people are saying though
> and I find that somewhat confusing... Is it simply because we are
> saying that we have vendor prefix selector pseudos (ex :-moz-any) and
> modules (ex -webkit-foo) but then not do the same for new functions?
> If you think about it like this...
> 
> -webkit-foo: -webkit-bar(1,2,3,4);
> foo: bar(1 2, 3 4);
> 
> It would illustrate what I am saying... the idea that foo takes a bar
> as its value still remains in tact from a design perspective, it's
> merely the name/signature of how you get that bar that changes.  Of
> course, the larger problem that people go ahead and add the unprefixed
> version expecting that it will not change would still exist - this is
> just me trying to understand some of the conversation and make sense
> of it.
> 
> So -- is that really not how it works (or should work)?  Is it
> actually the act of un-prefixing the property itself that changes how
> it is parsed/used - or am I making up some silly mental semantics
> argument without realizing?

I don't think it is about the property, just the value. So, if 'bar()' is something that hasn't reached CR, and an author has the following, in anticipation of a day when it will be un-prefixed:

foo: -webkit-bar(1,2,3,4);
foo: bar(1,2,3,4);

...then they are taking the risk that the syntax of bar() wont change from its draft version. But it is a pretty safe risk, usually, because if the syntax changes, the declaration will be invalid, which is no worse than if the author left the un-prefixed version out. The whole point of prefixing is that syntaxes do change, and experimental use comes with that caveat, so we should feel free to change it if we see fit.

Received on Monday, 23 January 2012 15:33:30 UTC