Why Vendor Prefixes?
I (and probably many other people across the world) find vendor prefixes annoying. Remember -moz-calc()
?
A normal piece of code:
.unselectable {
user-select: none;
}
A vendor-prefix-polluted piece of code:
.unselectable {
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
-o-user-select: none;
-khtml-user-select: none;
user-select: none; /*When properties become non-experimental, the vendor prefixes will be removed.*/
}
In my opinion, new experimental features should NOT be prefixed by several different vendor prefixes. If absolutely necessary, there should be a universal vendor prefix, such as -exp-*
. A universal prefix would greatly simplify the code:
.unselectable {
-exp-user-select: none;
user-select: none; /*When properties become non-experimental, the vendor prefixes will be removed.*/
}