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.

CSS 属性 block-size 根据元素的书写模式定义了元素块的横向或纵向尺寸。根据 writing-mode 的值,此属性对应于 widthheight 属性。

若为纵向书写模式,则 block-size 的值对应于元素的宽度;否则对应于元素的高度。与此相关的属性为 inline-size,此属性定义了元素另一方向的尺度。

尝试一下

语法

css
/* <length> 值 */
block-size: 300px;
block-size: 25em;

/* <percentage> 值 */
block-size: 75%;

/* 关键词值 */
block-size: max-content;
block-size: min-content;
block-size: fit-content(20em);
block-size: auto;

/* 全局值 */
block-size: inherit;
block-size: initial;
block-size: revert;
block-size: revert-layer;
block-size: unset;

取值

block-size 属性的取值与 widthheight 属性相同。

形式定义

初始值auto
适用元素same as width and height
是否是继承属性
Percentagesblock-size of containing block
计算值same as width and height
动画类型a length, percentage or calc();

形式语法

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

示例

竖排文本的块向尺寸

HTML

html
<p class="exampleText">示例文本</p>

CSS

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

结果

规范

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

浏览器兼容性

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.

参见