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.

* Some parts of this feature may have varying levels of support.

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

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
block-size
anchor-size()
Experimental
fit-content
fit-content()
Experimental
max-content
min-content

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support
No support
No support
Experimental. Expect behavior to change in the future.
See implementation notes.
User must explicitly enable this feature.
Uses a non-standard name.
Requires a vendor prefix or different name for use.
Has more compatibility info.

Voir aussi