Home > Article > Web Front-end > Why should we add webkit before CSS3 attributes?
Because CSS needs to be compatible with the attribute support of different browsers, browser manufacturers will add a private prefix before the attribute to support new attributes; attributes with the prefix "-webkit-" can be used in webkit-based Normally used in browsers such as "safari" and "chrome" browsers.
The operating environment of this tutorial: Windows 10 system, CSS3&&HTML5 version, Dell G3 computer.
Why should we add webkit before Css3 attributes
There are some new attributes in CSS3, such as box-reduis, box-orient, text- overflow, etc., these attributes did not exist or were not supported in previous versions. Therefore, for different browsers, their kernel names are specified so that they can parse these new attributes. This seems to be a reasonable explanation, that is, -moz- is for firefox, and -webkit- is for safari and chrome.
-moz represents the private properties of the firefox browser
-ms represents the private properties of the ie browser
-webkit represents safari and chrome private properties
Before the standard was determined, some browsers had already implemented some functions according to the initial draft in order to be compatible with the standards that were later determined. , so each browser uses its own private prefix to distinguish it from the standard. When the standard is established, major browsers will gradually support new CSS3 attributes without prefixes.
The example is as follows:
<html> <head> <style> div { width:300px; height:100px; background-color:#ff9900; -moz-box-shadow: 10px 10px 5px #888888; /* 老的 Firefox */ box-shadow: 10px 10px 5px #888888; } </style> </head> <body> <div></div> </body> </html>
Why do we need a private prefix? Because the W3C, the organization that formulates HTML and CSS standards, is very slow. Usually, a member of the w3c organization proposes a new attribute, such as rounded border-radius, and everyone thinks it is good, but w3c will not set a standard for this attribute, but will go through a very complicated process and go through a lot of reviews.
Browser vendors are not willing to wait that long. If they feel that an attribute is mature enough, they will add support to the browser. But to avoid changes when w3c announces the standard in the future, a private prefix will be added, such as -webkit-border-radius, to support new attributes in advance. When w3c announces the standard in the future, the standard writing method of border-radius is established. , and let the new version of the browser support the border-radius writing method.
For example, Chrome 10 does not recognize border-radius and can only use webkit-border-radius, but Chrome 12 can recognize it. So when writing CSS, writing like this can ensure that both Chrome10 and Chrome12 can display correctly when browsing web pages.
Currently there are many private prefixes that can no longer be written, but in order to be compatible with older versions of browsers, private prefixes and standard methods can still be used, and the transition will be gradual
(Learning video sharing: css video tutorial)
The above is the detailed content of Why should we add webkit before CSS3 attributes?. For more information, please follow other related articles on the PHP Chinese website!