block-size

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2021.

Expérimental: Cette fonction est expérimentale
Puisque cette fonction est toujours en développement dans certains navigateurs, veuillez consulter le tableau de compatibilité pour les préfixes à utiliser selon les navigateurs.
Il convient de noter qu'une fonctionnalité expérimentale peut voir sa syntaxe ou son comportement modifié dans le futur en fonction des évolutions de la spécification.

La propriété block-size est une propriété logique qui permet de définir la taille de l'élément dans la direction orthogonale au sens de lecture. Selon la valeur de la propriété writing-mode, elle correspondra à la propriété physique width ou height.

Exemple interactif

Si le mode d'écriture est vertical, la valeur de block-size fera référence à la largeur de l'élément et sinon, elle fera référence à sa hauteur.

L'autre propriété logique permettant de définir la dimension sur l'autre axe est inline-size.

Syntaxe

css
/* Valeurs de longueur */
/* Type <length>       */
block-size: 300px;
block-size: 25em;

/* Valeurs proportionnelles */
/* Type <percentage>        */
block-size: 75%;

/* Valeurs avec un mot-clé */
block-size: 25em border-box;
block-size: 75% content-box;
block-size: max-content;
block-size: min-content;
block-size: available;
block-size: fit-content;
block-size: auto;

/* Valeurs globales */
block-size: inherit;
block-size: initial;
block-size: unset;

Valeurs

La propriété block-size peut prendre les mêmes valeurs que width et height.

Définition formelle

Valeur initialeauto
Applicabilitéidentique à width et à height
Héritéenon
Pourcentagesla taille de bloc du bloc englobant
Valeur calculéeidentique à width et à height
Type d'animationune longueur, pourcentage ou calc() ;

Syntaxe formelle

block-size = 
<'width'>

<width> =
auto |
<length-percentage [0,∞]> |
min-content |
max-content |
fit-content( <length-percentage [0,∞]> ) |
<calc-size()> |
<anchor-size()>

<length-percentage> =
<length> |
<percentage>

<calc-size()> =
calc-size( <calc-size-basis> , <calc-sum> )

<anchor-size()> =
anchor-size( [ <anchor-name> || <anchor-size> ]? , <length-percentage>? )

<calc-size-basis> =
<intrinsic-size-keyword> |
<calc-size()> |
any |
<calc-sum>

<calc-sum> =
<calc-product> [ [ '+' | '-' ] <calc-product> ]*

<anchor-name> =
<dashed-ident>

<anchor-size> =
width |
height |
block |
inline |
self-block |
self-inline

<calc-product> =
<calc-value> [ [ '*' | '/' ] <calc-value> ]*

<calc-value> =
<number> |
<dimension> |
<percentage> |
<calc-keyword> |
( <calc-sum> )

<calc-keyword> =
e |
pi |
infinity |
-infinity |
NaN

Exemples

CSS

css
.exemple {
  writing-mode: vertical-rl;
  background-color: yellow;
  block-size: 200px;
}

HTML

html
<p class="exemple">Texte d'exemple</p>

Résultat

Spécifications

Specification
CSS Logical Properties and Values Level 1
# dimension-properties
CSS Box Sizing Module Level 4
# sizing-values

Compatibilité des navigateurs

BCD tables only load in the browser

Voir aussi