These are called vendor prefixes. Different browsers have different prefixes:
- -webkit- - Webkit-based browsers like Safari and Chrome
- -moz- - Gecko-based browsers such as Firefox
- -ms- Internet Explorer
- -o Presto-based browsers such as Opera
Vendor prefixes are used to denote experimental CSS features. They are used when a particular property or specification is not considered stable and may change in the future. Using a prefix, the browser can experiment with this feature without risking that developers will use the property and sites will crash if the behavior or syntax changes. After the specification becomes final, the prefix will be removed, and some browsers will remove support for the prefix version.
The official W3C guide is that prefixes should be used until the specification from which the property or function reaches the Applicant’s Recommendation,
A general recommendation is to use all vendor prefixes one by one, and the latest version is not applicable.
Mozilla and Chrome (now moving to the Blink engine) changed the policy to hide the function behind the flag, instead of using the prefix. This means that the function will not be available for use if the user does not enable this flag.
For more information, see this CSS working group wiki page: http://wiki.csswg.org/spec/vendor-prefixes
source share