Points clés
-webkit
) présente des problèmes potentiels avec les normes Web et la compatibilité des navigateurs. Les développeurs utilisent souvent ces préfixes pour accéder à de nouvelles fonctionnalités, mais cela peut conduire à un code non standardisé et spécifique au navigateur. -webkit
dans les navigateurs non Webkit. Cependant, cela peut conduire à une incompatibilité dans la mise en œuvre du même attribut et encourager davantage les développeurs à utiliser des attributs spécifiques à WebKit, ce qui peut en faire la norme de facto. La relation entre le développeur et le préfixe du vendeur CSS est liée à l'amour et à la haine. Ils nous permettent d'utiliser une technologie de pointe, mais au prix d'une longue déclaration:
background-image: -webkit-linear-gradient(#fff, #000); background-image: -moz-linear-gradient(#fff, #000); background-image: -ms-linear-gradient(#fff, #000); background-image: -o-linear-gradient(#fff, #000); background-image: linear-gradient(#fff, #000);
Théoriquement fonctionne bien, mais considérons la situation réelle: 1. Les propriétés expérimentales sont généralement implémentées en premier dans le moteur Webkit, et rien ne garantit qu'ils seront copiés dans d'autres navigateurs. 2. Il est difficile de déterminer si l'attribut de préfixe du fournisseur fait partie de la spécification CSS. Certains fournisseurs ne soumettent pas d'attributs pour la normalisation. 3. Les versions préfixes de fournisseurs incorrectes continuent d'être prises en charge même si les propriétés standard changent. L'ancien code fonctionne toujours;
Vous constatez souvent que les sites Web utilisent uniquement le préfixe -webkit
- même si d'autres navigateurs prennent en charge la propriété ou ont une large disponibilité sans le préfixe (par exemple border-radius
). Par conséquent, Chrome et Safari sont plus beaux que les navigateurs concurrents - Les autres fabricants n'en sont pas satisfaits. Cette question a été soulevée et discutée lors de la réunion du W3C le 7 février 2012: & GT; Les défenseurs des normes Web enseignent aux gens à utiliser le webkit. Vous verrez des présentations de tous les défenseurs des normes Web qui préconisent les gens pour utiliser les préfixes WebKit. Notre travail consiste à résoudre des problèmes d'interopérabilité. Actuellement, nous essayons de déterminer lesquelles et combien de propriétés de préfixe Webkit sont réellement prises en charge à Mozilla. Si nous ne prenons pas en charge le préfixe WebKit, nous serons exclus d'une partie du Web mobile.
Réfléchissons avec soin. Les navigateurs non Webkit prendront en charge le préfixe -webkit
. Il s'agit de la solution que W3C considère. Cette idée est probablement une défaite écrasante. Deux implémentations ou plus de la même propriété WebKit seront incompatibles, donc les développeurs ne pourront pas l'utiliser nulle part. Personne ne gagnera - y compris Apple et Google. Mais je suis plus inquiet des dommages irréparables que cela causera si la solution réussit. Une fois que les développeurs constatent que le préfixe WebKit est valable dans Firefox, IE et Opera, ils s'attendent à ce qu'ils travaillent sur tous les attributs. L'adoption WebKit uniquement se développera de façon exponentielle et les fournisseurs seront obligés de mettre en œuvre ces préfixes tout au long du processus. À ce moment-là, quelle que soit la spécification W3C, les attributs WebKit deviendront la norme de facto. Fin du jeu: le Web ouvert est fermé. Son impact va également au-delà de CSS: de nombreuses nouvelles API JavaScript ont des préfixes de fournisseurs.
Nous pouvons blâmer l'échec sur:
Je m'oppose aux navigateurs non Webkit pour prendre en charge les préfixes WebKit. Au mieux, cela rend le préfixe inutilisable. Au pire, il perturbe l'ensemble du processus de normalisation. Vous pouvez être d'accord ou en désaccord, mais veuillez exprimer votre opinion aux collègues, aux blogs et aux réseaux sociaux. Les fabricants de W3C et de navigateur écouteront vos commentaires; vous n'avez qu'à fournir des commentaires. Ensuite, testez votre site Web dans plusieurs navigateurs. Un peu de dégradation élégante est OK, mais ignorer un ou plusieurs navigateurs modernes avec un support égal n'est pas OK. Correction du code ou votre site Web exacerbe le problème. FAQ (FAQ) sur les préfixes CSS et WebKit Le préfixe CSS, également connu sous le nom de préfixes de fournisseurs, est un moyen pour les fabricants de navigateurs de les ajouter avant que les nouvelles fonctionnalités CSS ne deviennent la norme W3C (World Wide Web Alliance). Ces préfixes garantissent que la nouvelle fonctionnalité n'est valable que dans son navigateur. Par exemple, La crise du préfixe WebKit fait référence à une situation où les navigateurs non Webkit commencent à prendre en charge le préfixe Pour utiliser les préfixes CSS, ajoutez-les simplement avant les propriétés CSS dans la feuille de style. Par exemple, pour utiliser l'attribut (Les réponses aux questions suivantes sont similaires et ont été omises pour maintenir la structure globale de l'article et l'intégrité de l'information) Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois! CSS (tels que
-moz-
, -o-
, -ms-
et -webkit-
)? -moz-
est pour Mozilla Firefox, -o-
est pour Opera, -ms-
est pour Microsoft Internet Explorer et Edge, -webkit-
est destiné aux navigateurs utilisant le moteur Webkit, tels que Safari et des versions plus anciennes de Chrome. Qu'est-ce qu'une crise de préfixe WebKit?
-webkit-
pour assurer la compatibilité avec les sites qui utilisent uniquement ces préfixes. Cela conduit à la fragmentation des normes Web et rend plus difficile pour les nouveaux navigateurs d'entrer sur le marché. Comment utiliser le préfixe CSS dans mon code?
border-radius
avec un préfixe de fournisseur, vous pouvez écrire: background-image: -webkit-linear-gradient(#fff, #000);
background-image: -moz-linear-gradient(#fff, #000);
background-image: -ms-linear-gradient(#fff, #000);
background-image: -o-linear-gradient(#fff, #000);
background-image: linear-gradient(#fff, #000);