Afin de bien travailler, si vous utilisez une propriété CSS qui n'est pas encore standardisée, si vous voulez la voir interprétée par les navigateurs, il faut donc la préfixer avec les fameux préfixes constructeurs.
Prenons un exemple avec la propriété box-shadow
:
-moz-box-shadow: #000 0 0px 2px;
-webkit-box-shadow: #000 0 0px 2px;
-o-box-shadow: #000 0 0px 2px;
-ms-box-shadow: #000 0 0px 2px;
-khtml-box-shadow: #000 0 0px 2px;
box-shadow: #000 0 0px 2px;
La plupart des intégrateurs mettront les 2 premières lignes, mais beaucoup oublieront les 3 suivantes, respectivement pour Opera, Microsoft (oui, ça fait sourire), et Konqueror (certes anecdotique, mais ce n'est pas une raison).
Quant à la dernière sans préfixe, normalement, le jour où la propriété devient standard, elle doit remplacer les versions préfixées. C'est la théorie.
Quelques légers problèmes (ça c'est la pratique) :
- il n'est pas toujours possible de revenir sur tous les sites sur lesquels on a travaillé pour faire ce changement,
- les navigateurs peuvent ne pas être mis à jour et donc nécessiter les versions préfixées,
- le validateur CSS risque de ronchonner un peu sur les propriétés préfixées (mais ce n'est pas bien grave),
- et dans certains cas, on n'a aucune idée de quand la propriété va être supportée, que ce soit expérimentalement ou en tant que standard.
- Ajout : pas besoin d'un fichier javascript pour émuler ce qui est déjà fait en dur dans la feuille de style, ainsi, on évite tous les problèmes inhérents à utiliser du javascript pour faire de la CSS.
Certes c'est un peu lourd, pas excessivement beau… mais honnêtement, ce n'est pas dramatique. L'effort à fournir est quand même ridiculement petit, le copier/coller ou l'auto-complétion permet de faire le sale boulot.
En faisant ainsi, vous ne ferez pas de discrimination envers un navigateur ou un moteur de rendu (même s'il a de très petites parts de marché), vous arroserez large si j'ose dire, cela vous évitera de revenir sur votre intégration dans le futur. Et à plus grande échelle, vous rendez modestement service au Web Ouvert, donc n'hésitez pas, faites-le !