flex-basis
用于控制 flex 项目初始尺寸的工具类。
快速参考
| 类 | 属性 |
|---|---|
basis-<number> | flex-basis: calc(var(--spacing) * <number>); |
basis-<fraction> | flex-basis: calc(<fraction> * 100%); |
basis-full | flex-basis: 100%; |
basis-auto | flex-basis: auto; |
basis-px | flex-basis: 1px; |
basis-3xs | flex-basis: var(--container-3xs); /* 16rem (256px) */ |
basis-2xs | flex-basis: var(--container-2xs); /* 18rem (288px) */ |
basis-xs | flex-basis: var(--container-xs); /* 20rem (320px) */ |
basis-sm | flex-basis: var(--container-sm); /* 24rem (384px) */ |
basis-md | flex-basis: var(--container-md); /* 28rem (448px) */ |
basis-lg | flex-basis: var(--container-lg); /* 32rem (512px) */ |
basis-xl | flex-basis: var(--container-xl); /* 36rem (576px) */ |
basis-2xl | flex-basis: var(--container-2xl); /* 42rem (672px) */ |
basis-3xl | flex-basis: var(--container-3xl); /* 48rem (768px) */ |
basis-4xl | flex-basis: var(--container-4xl); /* 56rem (896px) */ |
basis-5xl | flex-basis: var(--container-5xl); /* 64rem (1024px) */ |
basis-6xl | flex-basis: var(--container-6xl); /* 72rem (1152px) */ |
basis-7xl | flex-basis: var(--container-7xl); /* 80rem (1280px) */ |
basis-(<custom-property>) | flex-basis: var(<custom-property>); |
basis-[<value>] | flex-basis: <value>; |
示例
使用间距比例
使用 basis-64 和 basis-128 等 basis-<number> 工具类,按间距比例设置 flex 项目的初始尺寸:
01
02
03
html
<!-- [!code classes:basis-64,basis-128] -->
<div class="flex flex-row">
<div class="basis-64">01</div>
<div class="basis-64">02</div>
<div class="basis-128">03</div>
</div>使用容器比例
使用 basis-xs 和 basis-sm 等工具类,按容器比例设置 flex 项目的初始尺寸:
01
02
03
04
html
<!-- [!code classes:basis-3xs,basis-2xs,basis-xs,basis-sm] -->
<div class="flex flex-row">
<div class="basis-3xs">01</div>
<div class="basis-2xs">02</div>
<div class="basis-xs">03</div>
<div class="basis-sm">04</div>
</div>使用百分比
使用 basis-1/2 和 basis-2/3 等 basis-<fraction> 工具类设置 flex 项目的初始尺寸:
01
02
html
<!-- [!code classes:basis-1/3,basis-2/3] -->
<div class="flex flex-row">
<div class="basis-1/3">01</div>
<div class="basis-2/3">02</div>
</div>使用自定义值
使用 basis-[<value>] 等工具类,按完全自定义的值设置基准尺寸:
html
<div class="basis-[30vw] ...">
<!-- ... -->
</div>对于 CSS 变量,你也可以使用 basis-(<custom-property>) 语法:
html
<div class="basis-(--my-basis) ...">
<!-- ... -->
</div>这只是 basis-[var(<custom-property>)] 的简写,会自动为你添加 var() 函数。
响应式设计
使用 md: 等断点变体作为 flex-basis 工具类的前缀,即可只在中等屏幕尺寸及以上生效:
html
<!-- [!code classes:md:basis-1/3] -->
<div class="flex flex-row">
<div class="basis-1/4 md:basis-1/3">01</div>
<div class="basis-1/4 md:basis-1/3">02</div>
<div class="basis-1/2 md:basis-1/3">03</div>
</div>在变体文档中了解有关使用变体的更多信息。
自定义主题
使用 --container-* 主题变量来自定义项目中固定宽度的 basis 工具类:
css
@theme {
--container-4xs: 14rem;
}现在可以在标记中使用 basis-4xs 工具类:
html
<div class="basis-4xs">
<!-- ... -->
</div>basis-<number> 工具类由 --spacing 主题变量驱动,你也可以自定义该变量:
css
@theme {
--spacing: 1px;
}在主题文档中了解有关自定义间距比例的更多信息。