Préfixes vendor en CSS
Par le passé, la situation suivante s'était développée parmi les navigateurs : avant qu'une propriété CSS n'apparaisse dans la spécification, les navigateurs implémentaient une version d'essai de cette propriété avec un préfixe spécial, appelé préfixe vendor.
Prenons l'exemple de la propriété
box-sizing
pour voir à quoi cela ressemble :
p {
box-sizing: border-box;
}
Cette propriété n'a commencé à être prise en charge qu'à partir de Firefox 29,
mais elle était déjà disponible dès la version 2 de Firefox avec le préfixe -moz :
p {
-moz-box-sizing: border-box;
}
Les autres navigateurs avaient des préfixes similaires :
-moz - Mozilla Firefox, -webkit
- les navigateurs utilisant les moteurs Webkit et Blink, -o
- Opera avec le moteur Presto, -ms - IE.
Ainsi, la version la plus cross-navigateur de la propriété
box-sizing, utilisant les préfixes vendor, avait
approximativement l'aspect suivant :
p {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
-ms-box-sizing: border-box;
-o-box-sizing: border-box;
box-sizing: border-box;
}
Actuellement, les navigateurs ont décidé d'abandonner les préfixes en raison de leur incommodité. Désormais, ils utilisent ce qu'on appelle des flags. Les propriétés sont maintenant intégrées dans le navigateur, mais sont désactivées par défaut ; cependant, il est possible de les activer dans les paramètres du navigateur en cochant la case correspondante dans les réglages. Cela permet aux développeurs de tester une nouvelle propriété avant son apparition officielle.