Why do browser makers create their own css properties?

  • Why do browser makers make their own css properties, even they know these properties will not pass the w3c check before approving and adding w3c?
  • What is the purpose? For your testing, or for web developers, or to demonstrate the capabilities of the browser to the world and W3C organizations and the W3C CSS development team?
  • is it like a beta demo?
  • if I use any particular browser can they remove this property support for future versions. Will I edit my css in the future.

For instance:

https://developer.mozilla.org/en/CSS_Reference/Mozilla_Extensions

+4
source share
6 answers
  • Responsible browser providers (large, with the exception of IE) know what they will look like on the Internet in a few years. I donโ€™t know where you get the โ€œdonโ€™t missโ€ part. They only implement things that browsers will support in a few years.
  • About providing tools for developing web applications for modern and future browsers.
  • Yes, we can say that this is a beta version.
  • Yes and no, it is unlikely that they will remove support for part of the extensions.

What the W3C is thinking about is the syntax. Take the gradient for 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 of these codes generate the same gradient. As you can see, there is no standard procedure; the syntax is confusing and different for webkit and mozilla browsers.

But imagine after two or three years, the implementation is completed. Now you just need to add another line of code for the standard.

 gradient: center bottom #colorFrom opacityFrom #colorTo opacityTo; 

Now both mechanisms will understand the state of the gradient, and if it is specified after the extensions, the latter will be interpreted.

+4
source

The standards process does not work as follows:

  • Spectrum written
  • Browsers implement the specification
  • All these are ponies and rainbows.

Like any IT project, the specification is recorded, then bits are executed, then the specification is changed based on lessons learned during implementation. His subtle dance, as Robert OCallahan said .

Performing initial implementations with vendor prefixes means that if the specification is changed later, existing code written against existing implementations will not be broken.

Vendor prefixes also allow browser developers to experiment just for this, which can lead to pretty nice things like Safaris gradients.

+1
source

they mostly work in the process, for example css2-> css3, but since the browser does not yet support it (for example, css3), it is displayed with different names.

0
source

They do this for several reasons:

  • As you said, demonstrate the unique capabilities of the browser.
  • Print specific browser actions - think of these properties as an API
  • Create stickiness - if you have a lot of code based on proprietary properties, you are "tied" to the browser.

And yes, unfortunately, these properties may change or even disappear in future versions, which requires code changes. Bottom line: adhere to standards, or at least be aware that any current brilliant feature has a future price.

0
source

mozilla has extensions that are likely to be in the next css standard to be one step ahead. when these properties are standard, use them without the moz prefix to support more than just one browser.

0
source

I donโ€™t relate to the specifics of the evolution of CSS standards, you can guess that the following main reasons why manufacturers โ€œgo beyond the linesโ€ of standards.

  • The standard edition is a long, slow process (often for good reason), and this pace is not satisfactory in a rapidly changing, heated competitive environment.
  • Sometimes this is a way to demonstrate potential new opportunities, either to confirm their validity or to put pressure on the standardization body to turn them on retroactively.

When effectively circumventing the established standardization process, the aforementioned drivers probably make sense and remember the greater good. Unfortunately, less noble reasons:

  • For manufacturers with a critical mass of the market, this makes it possible to make the product somewhat compatible, but with additional functions, and such functions can then be used as a way to make it difficult for users and / or developers (therefore, they guarantee the accuracy of the user and, possibly, create incentives for other users to try their product, therefore, further increasing their market share.)
  • For manufacturers with weak market conditions, this may be a way to do the same. Since such manufacturers believe that they need little to win (or save), strictly adhering to the standard, they are trying to invent a new function and lead with it.
0
source

Source: https://habr.com/ru/post/1304006/


All Articles