--- title: Valeur utilisée slug: Web/CSS/used_value tags: - CSS - Guide - Reference - Web translation_of: Web/CSS/used_value original_slug: Web/CSS/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.
Une fois qu'un agent utilisateur a terminé les calculs, chaque propriété CSS possède une valeur utilisée. Les valeurs utilisées des dimensions (par exemple width, height) sont exprimées en pixels et les propriétés raccourcies (comme background) sont cohérentes avec leurs propriétés composantes (par exemple background-color), display est cohérente avec position et float.
Les valeurs utilisées pour certaines propriétés peuvent être retrouvées en appelant la méthode JavaScript window.getComputedStyle().
Quatre étapes permettent de déterminer la valeur finale de n'importe quelle propriété CSS.
span avec position: absolute aura display qui passera à block pour la valeur calculée).auto ou des pourcentages relatifs à des parents sont remplacées par des valeurs en pixels), et le résultat est la valeur utilisée.window.getComputedStyle (bien que cette méthode peut renvoyer la valeur calculée selon la propriété, la valeur renvoyée par cette méthode est généralement appelée valeur résolue).CSS 2.0 définissait la valeur calculée comme la dernière étape du calcul de la valeur. CSS 2.1 a introduit une définition distincte de la valeur utilisée afin 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 (comme display, font-size ou line-height), les valeurs calculées et les valeurs utilisées sont identiques. Voici les propriétés qui dépendent de la mise en page et dont les valeurs calculées sont différentes des valeurs utilisées (extrait de CSS 2.1 Changes: Specified, computed, and actual values) :
background-positionbottom, left, right, topheight, widthmargin-bottom, margin-left, margin-right, margin-topmin-height, min-widthpadding-bottom, padding-left, padding-right, padding-toptext-indentCet exemple illustre et calcule les largeurs utilisées pour les trois éléments.
#no-width {
width: auto;
}
#width-50 {
width: 50%;
}
#width-inherit {
width: inherit;
}
/* Permet de mieux voir les résultats */
div {
border: 1px solid red;
padding: 8px;
}
<div id="no-width">
<p>Pas de largeur explicite.</p>
<p class="show-used-width">..</p>
<div id="width-50">
<p>Largeur explicite : 50%.</p>
<p class="show-used-width">..</p>
<div id="width-inherit">
<p>Largeur explicite: héritée avec <code>inherit</code>.</p>
<p class="show-used-width">..</p>
</div>
</div>
</div>
function updateUsedWidth(id) {
var div = document.querySelector(`#${id}`);
var par = div.querySelector('.show-used-width');
var wid = window.getComputedStyle(div)["width"];
par.textContent = `Used width: ${wid}.`;
}
function updateAllUsedWidths() {
updateUsedWidth("no-width");
updateUsedWidth("width-50");
updateUsedWidth("width-inherit");
}
updateAllUsedWidths();
window.addEventListener('resize', updateAllUsedWidths);
{{EmbedLiveSample('Exemples', '80%', '372px')}}
| Spécification | État | Commentaires |
|---|---|---|
| {{SpecName("CSS2.2", "cascade.html#used-value", "used value")}} | {{Spec2("CSS2.2")}} | |
| {{SpecName("CSS2.1", "cascade.html#used-value", "used value")}} | {{Spec2("CSS2.1")}} | Définition initiale. |