Pourquoi les pseudo-éléments/classes CSS spécifiques au fournisseur ne peuvent pas être combinés
C'est une pratique courante en CSS d'utiliser le fournisseur- des pseudo-classes et des pseudo-éléments spécifiques pour obtenir une compatibilité entre navigateurs pour styliser le texte d'espace réservé dans les champs de saisie. Cependant, combiner ces sélecteurs spécifiques au fournisseur en un seul ensemble de règles, comme cela pourrait être le cas avec des sélecteurs CSS classiques, n'est pas possible en raison des limitations de la validation CSS.
CSS2.1 définit le sélecteur pour qu'il inclue tout jusqu'au accolade ouvrante d’un bloc de déclaration. Si un agent utilisateur rencontre un sélecteur qu'il ne peut pas analyser, il doit ignorer à la fois le sélecteur et le bloc de déclaration correspondant.
Dans le contexte des préfixes spécifiques au fournisseur, cette limitation survient parce que les navigateurs ne comprennent souvent pas les préfixes de d'autres vendeurs. Lorsqu'une règle contient un préfixe spécifique au fournisseur dans un sélecteur de pseudo-classe ou de pseudo-élément, le navigateur peut ne pas le reconnaître et donc supprimer la règle entière.
Par exemple, si un ensemble de règles séparées par des virgules inclut un sélecteur avec la pseudo-classe :-moz-placeholder, les navigateurs qui ne prennent pas en charge les préfixes spécifiques à Mozilla (tels que Chrome ou Safari) ignoreront la règle entière car ils ne peuvent pas analyser ce sélecteur particulier. Cela rend la méthode de combinaison inefficace.
Il est important de noter que certains navigateurs, comme WebKit, peuvent s'écarter partiellement de cette règle et autoriser des pseudo-éléments non reconnus dans certains contextes. Cependant, la combinaison de sélecteurs spécifiques au fournisseur reste incohérente d'un navigateur à l'autre et peut conduire à un comportement de style imprévisible.
Par conséquent, pour éviter cette limitation et garantir un style d'espace réservé cohérent, il est nécessaire de continuer à utiliser des sélecteurs spécifiques au fournisseur distincts pour différents navigateurs.
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!