弹性布局组件,支持版本1.19.0+。
display: flex
实现。自定义组件的间距是 Box
算出来,同style透传给子组件的,因此子组件需要至少透传style属性;
// wrong
function Foo() {
return <div />;
}
// correct
function Foo({ style }) {
return <div style={style} />;
}
justify
align
等价于justify-contents
align-items
,用来设置 Box
的主轴方向、垂直主轴方向的对齐方式,即:
direction
为 row
时, align
控制垂直方向, justify
控制水平方向;direction
为 column
时(默认值), justify
控制垂直方向, align
控制水平方向。参数 | 说明 | 类型 | 默认值 | 是否必填 |
---|---|---|---|---|
flex | 同 CSS 属性 flex ,支持数组方式设置 |
| CSS.Property.Flex | [CSS.Property.FlexGrow, CSS.Property.FlexShrink, CSS.Property.FlexBasis] |
- | |
direction | 布局方向,同 CSS 属性 flex-direction |
CSS.Property.FlexDirection | 'column' | |
wrap | 是否折行 | boolean | false | |
spacing | 元素之间的间距 | Spacing | - | |
margin | 容器外间距 | Spacing | - | |
padding | 容器内间距 | Spacing | - | |
justify | 沿着主轴方向,子元素们的排布关系,同 CSS 属性 justify-content |
CSS.Property.JustifyContent | - | |
align | 沿交叉轴方向,子元素们的排布关系,同 CSS 属性 align-items |
CSS.Property.AlignItems | - | |
component | 定制 JSX 标签名 | keyof React.JSX.IntrinsicElements | 'div' |
export type Spacing =
| number
| [topAndBottom: number, rightAndLeft: number]
| [top: number, rightAndLeft: number, bottom: number]
| [top: number, right: number, bottom: number, left: number];