Home Fun Games Blog CDCRIFD CDRD Utilities About Settings
Back to CerebralDatabank's Blog

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.*/
}