Maison  >  Article  >  interface Web  >  Q : Que se passe-t-il lorsque les attributs CSS manquent d'unités dans les navigateurs en mode Quirks ?

Q : Que se passe-t-il lorsque les attributs CSS manquent d'unités dans les navigateurs en mode Quirks ?

DDD
DDDoriginal
2024-10-24 09:32:02705parcourir

Q: What Happens When CSS Attributes Lack Units in Quirks Mode Browsers?

Attributs CSS sans unité : repli sur PX

En CSS, il peut sembler pratique d'omettre des unités dans les valeurs d'attribut. Cependant, cela peut conduire à des scénarios de repli inattendus. En mode bizarreries, les navigateurs peuvent se comporter de manière incohérente lorsqu'ils rencontrent des attributs sans unité. Cet article examine le comportement de repli, ses implications et les incohérences entre les navigateurs.

Retour à PX

Lorsqu'un attribut CSS ne dispose pas d'une unité, telle que "px", "em" ou "%", les navigateurs peuvent utiliser par défaut une unité de secours. En mode bizarreries, de nombreux navigateurs choisissent « px » comme unité de secours. Ce comportement est conforme aux anciens attributs HTML qui acceptaient les longueurs de pixels comme valeurs sans unité.

Cependant, ce comportement n'est pas cohérent entre les navigateurs. Certains navigateurs, tels qu'Internet Explorer 7 et versions ultérieures en mode standard, ignorent les attributs de règle dépourvus d'unités, tandis que d'autres navigateurs, tels que Chrome, Firefox et Safari, continuent de recourir à "px".

Spécification W3C

La spécification W3C pour CSS stipule que toutes les valeurs de longueur non nulle doivent avoir des unités. Par conséquent, les attributs sans unité ne sont pas valides. Cette spécification s'applique au rendu en mode standard. En mode bizarreries, les navigateurs ont plus de liberté pour mettre en œuvre un comportement bizarre, ce qui peut expliquer les variations du comportement de repli.

Règle de repli obligatoire

Il n'y a aucune règle spécifique qui impose navigateurs pour revenir à une unité préférée. Cette décision est laissée à la discrétion du navigateur et peut varier en fonction de la version du navigateur, du mode de rendu et des propriétés spécifiques impliquées.

Exemple de comportement

Internet Explorer se comporte différemment en mode bizarreries et en mode standards. En mode bizarreries, il ramenait la largeur et la largeur des bordures à "px". Cependant, en mode standards, il ignore les règles d'attribut qui manquent d'unités.

Firefox diffère d'Internet Explorer en mode bizarreries. Il retombe sur la largeur "px" mais ignore l'attribut border-width. Chrome, Opera et Safari utilisent tous la largeur et la largeur des bordures sur "px" en mode bizarreries.

Conclusion

L'utilisation d'attributs sans unité en CSS est déconseillée. Cela peut conduire à des résultats inattendus et à des incohérences dans le navigateur, notamment en mode bizarreries. Le respect de la recommandation du W3C consistant à spécifier des unités pour toutes les valeurs de longueur garantira un rendu cohérent sur tous les 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!

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