Maison  >  Article  >  interface Web  >  Quand les attributs CSS reviennent-ils aux pixels (px) sans unités ?

Quand les attributs CSS reviennent-ils aux pixels (px) sans unités ?

Susan Sarandon
Susan Sarandonoriginal
2024-10-24 09:26:29247parcourir

When Do CSS Attributes Fallback to Pixels (px) Without Units?

Remplacer les attributs CSS sans unités : une étude de cas

Les attributs CSS nécessitent souvent des unités (par exemple, px, em, %) pour spécifier leurs valeurs. Cependant, dans certains scénarios, ces unités peuvent être omises. Cela soulève des questions sur le mécanisme de repli et le comportement des agents utilisateurs (UA) dans de telles situations.

Questions :

  • Pourquoi certains attributs revenir aux pixels (px) lorsque les unités sont omises ?
  • Le px est-il l'unité de repli préférée dans toutes les recommandations du W3C ?
  • Les UA sont-ils obligés de revenir à une unité préférée ?
  • Quel est le comportement correct dans l'exemple suivant, compte tenu du comportement des différents navigateurs ?
<body>
    <div 
        style=  "width:170;
                border:1 dotted PaleGreen;
                background-color:MistyRose">
        The quick brown
    </div>
</body>

Réponses :

1. px Repli en mode Quirks

En mode Quirks, qui est activé par l'absence d'un doctype approprié, certains navigateurs peuvent recourir à px pour certains attributs. Ce comportement découle des anciens attributs HTML width et height, qui acceptaient les nombres sans unité comme longueurs de pixels.

2. Unité de repli préférée

Oui, px est l'unité de repli préférée en l'absence d'unité définie. Ceci est basé sur la compatibilité avec le comportement HTML existant.

3. Obligation de repli

Non, il n'existe pas de règle formelle obligeant les UA à se replier sur une unité préférée. Cela conduit à un comportement incohérent entre les navigateurs.

4. Analyse du comportement du navigateur

  • Internet Explorer : En mode bizarreries, il revient à px pour la largeur et la largeur des bordures. En mode standards, il ignore les valeurs sans unité.
  • Firefox : En mode bizarreries, il revient à px pour la largeur mais ignore les valeurs sans unité pour la largeur de la bordure.
  • Chrome, Opera, Safari : En mode bizarreries, il revient à px pour la largeur et la largeur de bordure.

Remarque : En mode standards, tous les navigateurs doivent ignorer les valeurs de longueur sans unités.

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