Space间距 - 图1

Space 间距

设置组件之间的间距。

何时使用

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

  • 适合行内元素的水平间距。
  • 可以设置各种水平对齐方式。

代码演示

Space间距 - 图2

基本用法

相邻组件水平间距。

  1. <template>
  2. <a-space>
  3. Space
  4. <a-button type="primary">Button</a-button>
  5. <a-upload>
  6. <a-button>
  7. <UploadOutlined />
  8. Click to Upload
  9. </a-button>
  10. </a-upload>
  11. <a-popconfirm title="Are you sure delete this task?" ok-text="Yes" cancel-text="No">
  12. <a-button>Confirm</a-button>
  13. </a-popconfirm>
  14. </a-space>
  15. </template>
  16. <script lang="ts">
  17. import { UploadOutlined } from '@ant-design/icons-vue';
  18. import { defineComponent } from 'vue';
  19. export default defineComponent({
  20. components: {
  21. UploadOutlined,
  22. },
  23. });
  24. </script>

Space间距 - 图3

垂直间距

相邻组件垂直间距。 可以设置 width: 100% 独占一行。

  1. <template>
  2. <a-space direction="vertical">
  3. <a-card title="Card" style="width: 300px">
  4. <p>Card content</p>
  5. <p>Card content</p>
  6. </a-card>
  7. <a-card title="Card" style="width: 300px">
  8. <p>Card content</p>
  9. <p>Card content</p>
  10. </a-card>
  11. </a-space>
  12. </template>

Space间距 - 图4

自定义尺寸

自定义间距大小。

  1. <template>
  2. <div>
  3. <a-slider v-model:value="size" />
  4. <br />
  5. <br />
  6. <a-space :size="size">
  7. <a-button type="primary">Primary</a-button>
  8. <a-button>Default</a-button>
  9. <a-button type="dashed">Dashed</a-button>
  10. <a-button type="link">Link</a-button>
  11. </a-space>
  12. </div>
  13. </template>
  14. <script lang="ts">
  15. import { defineComponent, ref } from 'vue';
  16. export default defineComponent({
  17. setup() {
  18. return {
  19. size: ref(8),
  20. };
  21. },
  22. });
  23. </script>

Space间距 - 图5

对齐

设置对齐模式。

  1. <template>
  2. <div class="space-align-container">
  3. <div class="space-align-block">
  4. <a-space align="center">
  5. center
  6. <a-button type="primary">Primary</a-button>
  7. <span class="mock-block">Block</span>
  8. </a-space>
  9. </div>
  10. <div class="space-align-block">
  11. <a-space align="start">
  12. start
  13. <a-button type="primary">Primary</a-button>
  14. <span class="mock-block">Block</span>
  15. </a-space>
  16. </div>
  17. <div class="space-align-block">
  18. <a-space align="end">
  19. end
  20. <a-button type="primary">Primary</a-button>
  21. <span class="mock-block">Block</span>
  22. </a-space>
  23. </div>
  24. <div class="space-align-block">
  25. <a-space align="baseline">
  26. baseline
  27. <a-button type="primary">Primary</a-button>
  28. <span class="mock-block">Block</span>
  29. </a-space>
  30. </div>
  31. </div>
  32. </template>
  33. <script lang="ts">
  34. import { defineComponent } from 'vue';
  35. export default defineComponent({});
  36. </script>
  37. <style scoped>
  38. .space-align-container {
  39. display: flex;
  40. align-items: flex-start;
  41. flex-wrap: wrap;
  42. }
  43. .space-align-block {
  44. margin: 8px 4px;
  45. border: 1px solid #40a9ff;
  46. padding: 4px;
  47. flex: none;
  48. }
  49. .space-align-block .mock-block {
  50. display: inline-block;
  51. padding: 32px 8px 16px;
  52. background: rgba(150, 150, 150, 0.2);
  53. }
  54. </style>

API

参数说明类型默认值版本
align对齐方式start | end |center |baseline-1.6.5
direction间距方向vertical | horizontalhorizontal1.6.5
size间距大小small | middle | large | numbersmall1.6.5