- From: Ph. Wittenbergh <jk7r-obt@asahi-net.or.jp>
- Date: Fri, 15 May 2009 15:05:39 +0900
- To: Daniel Glazman <daniel.glazman@disruptive-innovations.com>
- Cc: "L. David Baron" <dbaron@dbaron.org>, www-style@w3.org
On May 15, 2009, at 2:41 PM, Daniel Glazman wrote: > L. David Baron wrote: > >> When implementors are implementing experimental properties that have >> already been implemented by other vendors, should they copy vendor >> prefixes from each other, or not? >> For example, if Mozilla is implementing the 'transition-delay' >> property [1], which is already implemented in WebKit as >> '-webkit-transition-delay', should it implement it as >> '-moz-transition-delay' (the approach we've taken so far) or >> '-webkit-transition-delay'? > > It's a complex but very good question. Let me push it to the > limits: if Mozilla implements -webkit-* properties, I don't > understand why prefixes exist at all. BTW, a third option > for your case above is -moz-webkit-transition-delay. I'm not > saying it's not crazy but it's logical... > > But let's go back to your question. > On one hand, prefixes are used the following ways: > > 1. experimental properties that are not fully conformant to the spec > 2. proprietary properties > > In the second case, if Mozilla starts implementing an Apple > proprietary > property for instance, then the property should probably be > standardized > and at some point in the future you'll want the -moz-* version. > > In the first case, browser vendors use prefixes until they're sure > their > implementations is conformant to the spec. This is a positive and a > very > bad thing at the same time. I have seen so many style sheets on the > Web > these days with > > -moz-border-radius: 5px; > -webkit-border-radius: 5px; > border-radius: 5px; > > Am I the only one here to find that totally crazy? yes, it is a little crazy at times. But then. Different vendor implement things at different times, based on the most recent draft of a given spec. Take the example of border-radius. The shorthand example above is pretty easy. But try to use the long hand version -webkit-border-top-left-radius: 10px; -moz-border-radius-topleft:10px; /* based on some old draft */ or -moz-border-radius: 10px 3px 10px 3px; -webkit-border-radius: 10px 3px 10px 3px; /* but this doesn't work - broken or not implemented*/ Or take the box-shadow property. Gecko 1.9.1 implements what is in the current draft; WebKit doesn't support the 'inset' keyword, nor the 'offset value. As an author, I prefer separate vendor prefixes, even if it is a little crazy, and a little confusing - and some bloat in the stylesheet. Philippe --- Philippe Wittenbergh http://l-c-n.com/
Received on Friday, 15 May 2009 06:06:22 UTC