Maison >interface Web >tutoriel CSS >Pourquoi ne pouvons-nous pas combiner des sélecteurs d'espace réservé spécifiques au fournisseur dans une seule règle CSS ?

Pourquoi ne pouvons-nous pas combiner des sélecteurs d'espace réservé spécifiques au fournisseur dans une seule règle CSS ?

Linda Hamilton
Linda Hamiltonoriginal
2024-12-27 10:23:11598parcourir

Why Can't We Combine Vendor-Specific Placeholder Selectors in a Single CSS Rule?

Dévoilement de l'énigme de la combinaison de sélecteurs spécifiques à un fournisseur

Dans le domaine du CSS, l'énigme du style du texte d'espace réservé dans plusieurs navigateurs se pose . Pour obtenir une prise en charge optimale entre navigateurs, une combinaison de pseudo-classes et de pseudo-éléments spécifiques au fournisseur est utilisée. Cependant, un dilemme embarrassant se pose : pourquoi n'est-il pas possible de les fusionner en un seul ensemble de règles, comme c'est l'habitude dans d'autres scénarios CSS ?

Plonger dans les profondeurs des spécifications CSS2.1 permet de découvrir la réponse. Il exige qu'un sélecteur soit défini comme tout ce qui mène à la première accolade gauche ({). Lorsqu'un agent utilisateur rencontre un sélecteur qu'il ne peut pas déchiffrer, il doit ignorer à la fois le sélecteur et le bloc de déclaration qui en résulte.

L'implication de ceci est que les navigateurs avec certains préfixes peuvent ne pas comprendre les sélecteurs avec d'autres préfixes spécifiques au fournisseur. , conduisant à l'exclusion des règles mentionnant ces préfixes non reconnus dans les sélecteurs. Par conséquent, les tentatives visant à combiner ces règles en un seul ensemble de règles séparées par des virgules, comme ceci :

input:-moz-placeholder,
input::-moz-placeholder,
input:-ms-input-placeholder,
input::-webkit-input-placeholder {
  font-style: italic;
  text-align: right;
}

se révéleront vaines. L'agent utilisateur n'appliquera les styles qu'au sélecteur reconnu, ce qui entraînera des styles incohérents entre les navigateurs.

Cette règle complexe a un but. Il garantit que les navigateurs adhèrent à la syntaxe CSS reconnue et implémentent uniquement les règles qu'ils comprennent parfaitement. En appliquant cela, toute incohérence potentielle ou erreur de rendu due à des écarts spécifiques au fournisseur est évitée.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn