Space间距

设置组件之间的间距。

何时使用

避免组件紧贴在一起,拉开统一的空间。

代码演示

Space间距 - 图1

基本用法

相邻组件水平间距。

  1. import { Button, Space, Upload, Popconfirm } from 'antd';
  2. import { UploadOutlined } from '@ant-design/icons';
  3. function SpaceDemo() {
  4. return (
  5. <Space>
  6. Space
  7. <Button type="primary">Button</Button>
  8. <Upload>
  9. <Button>
  10. <UploadOutlined /> Click to Upload
  11. </Button>
  12. </Upload>
  13. <Popconfirm title="Are you sure delete this task?" okText="Yes" cancelText="No">
  14. <Button>Confirm</Button>
  15. </Popconfirm>
  16. </Space>
  17. );
  18. }
  19. ReactDOM.render(<SpaceDemo />, mountNode);

Space间距 - 图2

垂直间距

相邻组件垂直间距。

可以设置 width: 100% 独占一行。

  1. import { Space, Card } from 'antd';
  2. function SpaceVertical() {
  3. return (
  4. <Space direction="vertical">
  5. <Card title="Card" style={{ width: 300 }}>
  6. <p>Card content</p>
  7. <p>Card content</p>
  8. </Card>
  9. <Card title="Card" style={{ width: 300 }}>
  10. <p>Card content</p>
  11. <p>Card content</p>
  12. </Card>
  13. </Space>
  14. );
  15. }
  16. ReactDOM.render(<SpaceVertical />, mountNode);

Space间距 - 图3

间距大小

间距预设大、中、小三种大小。

通过设置 sizelarge middle 分别把间距设为大、中间距。若不设置 size,则间距为小。

  1. import React, { useState } from 'react';
  2. import { Space, Radio, Button } from 'antd';
  3. function SpaceSize() {
  4. const [size, setSize] = useState('small');
  5. return (
  6. <>
  7. <Radio.Group value={size} onChange={e => setSize(e.target.value)}>
  8. <Radio value="small">Small</Radio>
  9. <Radio value="middle">Middle</Radio>
  10. <Radio value="large">Large</Radio>
  11. </Radio.Group>
  12. <br />
  13. <br />
  14. <Space size={size}>
  15. <Button type="primary">Primary</Button>
  16. <Button>Default</Button>
  17. <Button type="dashed">Dashed</Button>
  18. <Button type="link">Link</Button>
  19. </Space>
  20. </>
  21. );
  22. }
  23. ReactDOM.render(<SpaceSize />, mountNode);

Space间距 - 图4

自定义尺寸

自定义间距大小。

  1. import React, { useState } from 'react';
  2. import { Space, Slider, Button } from 'antd';
  3. function SpaceCutomizeSize() {
  4. const [size, setSize] = useState(8);
  5. return (
  6. <>
  7. <Slider value={size} onChange={value => setSize(value)} />
  8. <br />
  9. <br />
  10. <Space size={size}>
  11. <Button type="primary">Primary</Button>
  12. <Button>Default</Button>
  13. <Button type="dashed">Dashed</Button>
  14. <Button type="link">Link</Button>
  15. </Space>
  16. </>
  17. );
  18. }
  19. ReactDOM.render(<SpaceCutomizeSize />, mountNode);

API

参数说明类型默认值版本
size间距大小small | middle | large | numbersmall4.1.0
direction间距方向vertical | horizontalhorizontal4.1.0