Maison >interface Web >tutoriel CSS >Comment puis-je garantir une largeur d'élément cohérente dans différents navigateurs, en tenant compte du remplissage ?

Comment puis-je garantir une largeur d'élément cohérente dans différents navigateurs, en tenant compte du remplissage ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-27 00:49:10712parcourir

How Can I Ensure Consistent Element Width Across Different Browsers, Considering Padding?

Compatibilité de la largeur des éléments et du remplissage entre les navigateurs

Dans le domaine du développement Web, un défi courant se pose lorsque l'on tente d'assurer un comportement cohérent dans les éléments rendu sur différents navigateurs. L'un de ces écarts concerne l'inclusion du remplissage dans les calculs de largeur des éléments.

Internet Explorer vs Firefox : l'écart entre les modèles de boîte

Internet Explorer a historiquement utilisé la « frontière -box", qui interprète la largeur de l'élément comme incluant le remplissage. D'autre part, les navigateurs qui adhèrent aux normes Web, tels que Firefox, utilisent le modèle « content-box », excluant le remplissage des calculs de largeur.

Atteindre la cohérence entre les navigateurs

Pour synchroniser le comportement entre les navigateurs et appliquer le modèle standard « content-box », les étapes suivantes peuvent être pris :

  • Utilisez un balisage et un doctype valides : Assurez-vous que le balisage HTML est correct et incluez une déclaration DOCTYPE valide au début de votre document.
  • Spécifiez "Content-Box": Utilisez CSS pour définir explicitement le modèle de boîte "content-box" en utilisant ce qui suit property :
* { box-sizing: content-box; }

Amélioration de la compatibilité avec les anciens navigateurs

Pour la compatibilité avec les anciennes versions d'Internet Explorer, le modèle « border-box » peut être explicitement appliqué avec les propriétés préfixées par le fournisseur suivantes :

* {
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
}

Remarque sur WebKit Navigateurs

Les navigateurs basés sur WebKit (Safari et Chrome) ne prennent pas en charge le modèle de boîte « padding-box », ce qui signifie que le remplissage sera toujours inclus dans les calculs de largeur des éléments.

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