Valeur utilisée

La valeur utilisée de n'importe quelle propriété CSS est la valeur finale d'une propriété après que tous les calculs aient été réalisés. Les valeurs utilisées peuvent être retrouvée en appelant window.getComputedStyle. Les dimensions (p. ex. width, line-height) sont toutes en pixels, les propriétés raccourcies (p. ex. background) sont cohérentes avec leurs propriétés composantes (p. ex. background-color), display est cohérente avec position et float, et toutes les propriétés CSS ont une valeur.

Détails

Il y a trois étapes pour calculer la valeur finale de n'importe quelle propriété CSS. Premièrement, la valeur spécifiée est le résultat de la cascade (choisir la règle la plus spécifique qui change la propriété), de l'héritage (utiliser la même valeur calculée qu'un parent si la propriété peut être héritée), ou la valeur par défaut est utilisée. Puis, la valeur calculée est déterminée selon la spécification (par exemple, un span avec position: absolute vera la valeur calculée de display changer à block). Finalement, la mise en page est calculée (les dimensions qui ont pour valeur auto ou des pourcentages relatifs à des parents sont remplacées par des valeurs en pixels), et le résultat est la valeur utilisée. Ces valeurs sont calculées de manière interne ; un script peut seulement lire les valeurs utilisées finales grâce à window.getComputedStyle.

Exemple

Pas de largeur explicite. Valeur spécifiée width: auto (par défaut). Valeur calculée width: auto. Largeur utilisée width: 998px (par exemple).
Valeur explicite width: 50%. Valeur spécifiée width: 50%. Valeur calculée width: 50%. Valeur utiliséewidth: 447px (par exemple).
Valeur explicite width: inherit. Valeur spécifiée width: 50%. Valeur calculée width: 50%. Valeur utilisée width: 221px (par exemple).

Différence avec les valeurs calculées

CSS 2.0 définissait la valeur calculée comme la dernière étape du calcul de la valeur. Puis, CSS 2.1 a introduit une définition distincte de la valeur utilisée de manière à ce qu'un élément puisse hériter d'une largeur ou d'une hauteur d'un parent de manière explicite si la valeur calculée du parent est un pourcentage. Pour les propriétés CSS qui ne dépendent pas de la mise en page (p. ex. display, font-size, line-height), les valeurs calculées et les valeurs utilisées sont identiques. Ces propriétés dépendent de la mise en page et ont donc des valeurs calculées et utilisées différentes (extrait depuis CSS 2.1 Changes: Specified, computed, and actual values) :

  • background-position
  • bottom, left, right, top
  • height, width
  • margin-bottom, margin-left, margin-right, margin-top,
  • min-height, min-width
  • padding-bottom, padding-left, padding-right, padding-top
  • text-indent

Spécification

CSS Level 2: Used Values

Voir également

Étiquettes et contributeurs liés au document

Étiquettes :
Contributeurs ayant participé à cette page : FredB
Dernière mise à jour par : FredB,