开发预览 更新于 2026-05-10

Flex 弹性布局

用组件化 API 管理 flex-direction、align、justify、gap 与 wrap,减少页面内联样式。

基础用法

CfFlex 适合按钮组、表单行、状态栏、卡片工具区等高频弹性布局。gap 支持 token 尺寸,也支持数字像素或任意 CSS 长度。

背景
ProductionHealthy3 alerts
CPU 42%
Memory 68%
Queue 12
<script setup lang="ts">
import { CfBadge, CfButton, CfFlex, CfTag } from '@chufix-design/vue';
</script>

<template>
  <CfFlex direction="column" gap="lg" style="width: 100%; max-width: 720px;">
    <CfFlex align="center" justify="between" wrap gap="md">
      <CfFlex align="center" wrap gap="sm">
        <CfTag tone="info">Production</CfTag>
        <CfTag tone="success">Healthy</CfTag>
        <CfBadge tone="warning">3 alerts</CfBadge>
      </CfFlex>
      <CfFlex align="center" gap="sm">
        <CfButton variant="ghost">忽略</CfButton>
        <CfButton variant="primary">处理</CfButton>
      </CfFlex>
    </CfFlex>

    <CfFlex wrap gap="md">
      <div class="demo-tile">CPU 42%</div>
      <div class="demo-tile">Memory 68%</div>
      <div class="demo-tile">Queue 12</div>
    </CfFlex>
  </CfFlex>
</template>

<style scoped>
.demo-tile {
  min-width: 150px;
  flex: 1 1 0;
  border: 1px solid var(--line-1);
  border-radius: 8px;
  padding: 16px;
  background: var(--surface-1);
  color: var(--fg-1);
}
</style>
<CfFlex align="center" justify="between" wrap gap="md">...</CfFlex>

API

属性类型默认值说明
asstring / ElementTypediv渲染元素
directionrow / column / row-reverse / column-reverserow主轴方向
alignstart / center / end / stretch / baselinestretch交叉轴对齐
justifystart / center / end / between / around / evenlystart主轴分布
gapnone / xs / sm / md / lg / xl / number / stringmd间距
wrapbooleanfalse是否换行
inlinebooleanfalse使用 inline-flex
fullbooleanfalse宽度占满父级

反馈与讨论

Flex 弹性布局 的讨论

0
0 / 600
一键发送
正在加载评论...