布局
用于控制元素宽度、高度和间距的 JSX 样式属性
宽高比
使用aspectRatio
属性设置元素的所需宽高比。
// raw value
<Box aspectRatio="1.2" />
// token
<Box aspectRatio="square" />
属性 | CSS 属性 | 令牌类别 |
---|---|---|
aspectRatio | aspect-ratio | aspectRatios |
分页/分列
断后行为
使用 breakAfter
属性设置元素之后页面、列或区域断裂的行为。
<Box columns="2">
<Box>Item 1</Box>
<Box breakAfter="page">Item 2</Box>
</Box>
属性 | CSS 属性 | 令牌类别 |
---|---|---|
breakAfter | break-after | - |
断前行为
使用 breakBefore
属性设置元素之前页面、列或区域断裂的行为。
<Box columns="2">
<Box>Item 1</Box>
<Box breakBefore="page">Item 2</Box>
</Box>
属性 | CSS 属性 | 令牌类别 |
---|---|---|
breakBefore | break-before | - |
断内行为
使用 breakInside
属性设置元素内部页面、列或区域断裂的行为。
<Box columns="2">
<Box>Item 1</Box>
<Box breakInside="avoid">Item 2</Box>
</Box>
属性 | CSS 属性 | 令牌类别 |
---|---|---|
breakInside | break-inside | - |
盒装饰断裂
使用 boxDecorationBreak
属性设置当盒子跨多行、多列或多页断裂时,盒子装饰应如何表现。
<Box bgImage="linear-gradient(red, blue)" boxDecorationBreak="clone">
Chakra is <br /> great!
</Box>
属性 | CSS 属性 | 令牌类别 |
---|---|---|
boxDecorationBreak | box-decoration-break | - |
盒模型
使用 boxSizing
属性设置元素的盒模型。
<Box boxSizing="border-box" padding="4" width="8" height="8" />
属性 | CSS 属性 | 令牌类别 |
---|---|---|
boxSizing | box-sizing | - |
列
使用 columns
属性设置元素的列数。
<Box columns={2} />
属性 | CSS 属性 | 令牌类别 |
---|---|---|
columns | columns | - |
浮动
使用 float
属性设置元素的浮动方式。
<Box>
<Text>As much mud in the streets...</Text>
<Box float="left">Float me</Box>
</Box>
属性 | CSS 属性 | 令牌类别 |
---|---|---|
float | float | - |
清除浮动
使用 clear
属性设置元素是否必须移动到其前面的浮动元素下方(清除浮动)。
<Box>
<Box float="left">Left</Box>
<Box float="right">Right</Box>
<Box clear="none">
As much mud in the streets as if the waters had but newly retired from the
face of the earth, and it would not be wonderful to meet a Megalosaurus,
forty feet long or so, waddling like an elephantine lizard up Holborn Hill.
</Box>
</Box>
属性 | CSS 属性 | 令牌类别 |
---|---|---|
clear | clear | - |
隔离
使用 isolation
属性设置元素是否应明确创建一个新的堆叠上下文。
<Box isolation="isolate">
<Box bg="red.500" width="10" height="10" />
</Box>
属性 | CSS 属性 | 令牌类别 |
---|---|---|
isolation | isolation | - |
对象适应
使用 objectFit
属性设置图像或视频应如何调整大小以适应其容器。
<Image src="..." objectFit="cover" width="10" height="10" />
属性 | CSS 属性 | 令牌类别 |
---|---|---|
objectFit | object-fit | - |
对象位置
使用 objectPosition
属性设置元素在其容器内应如何定位。
<Image src="..." objectPosition="center" width="10" height="10" />
属性 | CSS 属性 | 令牌类别 |
---|---|---|
objectPosition | object-position | - |
溢出
使用 overflow
属性控制超出元素尺寸的内容的处理方式。此属性决定是剪裁内容、添加滚动条还是显示溢出内容。
<Box overflow="hidden" maxHeight="120px" />
<Box overflow="auto" maxHeight="120px" />
属性 | CSS 属性 | 令牌类别 |
---|---|---|
overflow | overflow | - |
超出滚动行为
使用 overscrollBehavior
属性控制浏览器在到达滚动区域边界时的行为。
<Box maxHeight="120px" overscrollBehavior="contain" />
属性 | CSS 属性 | 令牌类别 |
---|---|---|
overscrollBehavior | overscroll-behavior | - |
定位
使用 position
工具函数设置元素的定位。
<Box position="absolute" />
<Box pos="absolute" /> // shorthand
属性 | CSS 属性 | 令牌类别 |
---|---|---|
position | position | - |
上 / 右 / 下 / 左
使用 top
、right
、bottom
和 left
工具函数设置元素的定位。
<Box position="absolute" top="0" left="0" />
// using spacing tokens
<Box position="absolute" top="4" />
// using hardcoded values
<Box position="absolute" top="100px" />
使用 inset{Start|End}
工具函数的逻辑等效项,根据书写模式设置元素的定位。
<Box position="absolute" insetStart="0" />
属性 | CSS 属性 | 令牌类别 |
---|---|---|
top | top | 间距 |
right | right | 间距 |
bottom | bottom | 间距 |
left | left | 间距 |
start 、insetStart 、insetInlineStart | inset-inline-start | 间距 |
end 、insetEnd 、insetInlineEnd | inset-inline-end | 间距 |
insetX 、insetInline | inset-inline | 间距 |
insetY 、insetBlock | inset-inline | 间距 |
可见性
使用 visibility
属性控制元素的可见性。
<Box visibility="hidden" />
属性 | CSS 属性 | 令牌类别 |
---|---|---|
visibility | visibility | - |
Z-Index
使用 zIndex
属性设置元素的 Z 轴顺序。
// using hardcoded values
<Box zIndex="1" />
// using token
<Box zIndex="overlay" />
属性 | CSS 属性 | 令牌类别 |
---|---|---|
zIndex | z-index | zIndices |