Reputation: 152677
For example:
https://developer.mozilla.org/en/CSS_Reference/Mozilla_Extensions
Upvotes: 4
Views: 516
Reputation: 98816
The standards process doesn’t run like this:
Like any IT project, the spec is written, then bits of it are implemented, then the spec is changed based on lessons learned during implementation. It’s a delicate dance, as Robert O’Callahan said.
Doing initial implementations with vendor prefixes means that if the spec is changed later, existing code written against the existing implementations won’t break.
Vendor prefixes also allow browser-makers to experiment just for the heck of it, which can result is quite nice things like Safari’s gradients.
Upvotes: 1
Reputation: 75155
I'm not privy to the specifics of the CSS standards evolution, one can guess that following are the main reasons for manufacturers to "draw outside of the lines" of the standards.
While effectively circumventing the established standardization process, the above drivers are probably well meaning and mindful of the greater good. There are unfortunately less noble reasons:
Upvotes: 0
Reputation: 12087
mozilla has extensions which are likely to be in the next css standard just to be one step ahead. when these properties will be standard, use them without the moz prefix, in order to support more than just one browser.
Upvotes: 0
Reputation: 27809
They do it for several reasons:
And yes, sadly those properties may change or even disappear in future versions, necessitating code changes. Bottom line: stick to standards, or at least be aware that any current shiny feature has a future price.
Upvotes: 0
Reputation: 5240
What the W3C is thinking about is the syntaxis. Let's take gradient for an example:
-webkit-gradient(
linear,
left bottom,
left top,
color-stop(0.2, rgb(86,45,199)),
color-stop(0.6, rgb(112,72,239))
)
-moz-linear-gradient(
center bottom,
rgb(86,45,199) 20%,
rgb(112,72,239) 60%
)
Both these codes generate the same gradient. As you can see, there's no standard procedure, the syntaxis is both confusing and different for webkit and mozilla based browsers.
But let's imagine in two or three years, the implementation is done. Now you just have to add another line of code for the standard.
gradient: center bottom #colorFrom opacityFrom #colorTo opacityTo;
Now both engines will understand the gradient statment and if it's specified after the extension ones, this last one will be the one to interpret.
Upvotes: 4
Reputation: 1827
they are mostly work-in-progress from for example css2->css3, but since a browser doesn't yet support it (like css3), it is exposed with different names.
Upvotes: 0