此功能仍处于实验阶段。“实验性”意味着这是早期实现,可能会发生剧烈且破坏性的更改。

HStack(水平堆栈)将子元素排列成一行。

用法

HStack 可以渲染内部任意内容。

import { __experimentalHStack as HStack } from '@wordpress/components';

function Example() {
    return (
        <HStack>
            <span>Code</span>
            <span>is</span>
            <span>Poetry</span>
        </HStack>
    );
}

属性

alignment

类型: HStackAlignment | CSS[ 'alignItems' ]

确定子元素的对齐方式。

  • top: 将内容对齐到顶部。
  • topLeft: 将内容对齐到左上角。
  • topRight: 将内容对齐到右上角。
  • left: 将内容对齐到左侧。
  • center: 将内容居中对齐。
  • right: 将内容对齐到右侧。
  • bottom: 将内容对齐到底部。
  • bottomLeft: 将内容对齐到左下角。
  • bottomRight: 将内容对齐到右下角。
  • edge: 使内容均匀分布,直至容器的主轴边缘。
  • stretch: 将内容拉伸至容器的交叉轴边缘。

direction

类型: FlexDirection

可以使用 direction 调整子内容的流向。column 将垂直排列子元素,row 将水平排列子元素。

expanded

类型: boolean

扩展至最大可用宽度(如果是水平方向)或高度(如果是垂直方向)。

justify

类型: CSS['justifyContent']

如果 direction 为 row,则水平对齐内容;如果 direction 为 column,则垂直对齐内容。
在下面的示例中,flex-start 会将子内容向左对齐。

spacing

类型: CSS['width']

每个子元素之间的间距。可以通过使用 spacing 调整每个子元素之间的间距。
spacing 的值作为库网格系统的乘数(基础值为 4px)。

wrap

类型: boolean

确定子元素是否应该换行。

Spacer

当在 HStack 内使用 Spacer 时,Spacer 会自适应扩展以占据剩余空间。

import {
    __experimentalHStack as HStack,
    __experimentalSpacer as Spacer,
} from '@wordpress/components';

function Example() {
    return (
        <HStack>
            <span>Code</span>
            <Spacer>
                <span>is</span>
            </Spacer>
            <span>Poetry</span>
        </HStack>
    );
}

Spacer 也可以用于项目之间,将它们分开。

import {
    __experimentalHStack as HStack,
    __experimentalSpacer as Spacer,
} from '@wordpress/components';

function Example() {
    return (
        <HStack>
            <span>Code</span>
            <Spacer />
            <span>is</span>
            <span>Poetry</span>
        </HStack>
    );
}