首页 / Tailwind CSS 入门教程 / v4.3新特性详解

Tailwind CSS 入门教程

v4.3新特性详解

本教程共 50 篇 · 第 48 篇 · 更新于 2026-07-29 · 约 8 分钟阅读

Tailwind CSSTailwind CSS 入门教程v4.3新特性scrollbar容器查询逻辑属性@variant

48. v4.3新特性详解

本节目标:全面了解 Tailwind CSS v4.3 引入的实用新特性,掌握 scrollbar 定制、尺寸容器查询、逻辑属性扩展等现代 CSS 开发能力。

Tailwind CSS v4.3 是 2026 年 5 月发布的,带来了一批面向现代浏览器的新工具类和 CSS 指令。有了这些,很多以前需要手写 CSS 或者搞复杂 hack 的效果,现在直接写类名就行。

scrollbar 工具类:原生滚动条样式

v4.3 新增了一套完整的滚动条工具类,直接映射 CSS 的 scrollbar-widthscrollbar-color 属性,告别 -webkit-scrollbar 伪元素的私有 API。

滚动条宽度控制

<!-- 细滚动条 -->
<div class="scrollbar-thin">内容区域</div>

<!-- 自动宽度(浏览器默认) -->
<div class="scrollbar-auto">内容区域</div>

<!-- 完全隐藏滚动条但保留滚动功能 -->
<div class="scrollbar-none">内容区域</div>

对应的 CSS 输出:

.scrollbar-thin {
  scrollbar-width: thin;
}
.scrollbar-auto {
  scrollbar-width: auto;
}
.scrollbar-none {
  scrollbar-width: none;
}

滚动条颜色定制

<div class="scrollbar-thin scrollbar-thumb-gray-400 scrollbar-track-gray-100">
  自定义颜色的滚动条
</div>
Tip

scrollbar-none 隐藏滚动条后,用户仍可通过触摸板、滚轮或手势滚动内容。适合横向滚动导航条等场景。

滚动条间距

<!-- 为滚动条预留间距,避免内容被遮挡 -->
<div class="scrollbar-gutter-stable">内容区域</div>

@container-size:尺寸容器查询

v4.3 引入了 @container-size 工具类,用于创建尺寸容器(size container),支持包含 block-size 查询。与 v4.0 的 @container(仅支持 inline-size)互补。

基本用法

<!-- 创建尺寸容器,支持 cqb 等依赖 block-size 的单位 -->
<div class="@container-size">
  <div class="h-[50cqb]">高度是容器高度的 50%</div>
</div>

命名尺寸容器

<div class="@container-size/sidebar">
  <div class="@sidebar:bg-red-500">
    当名为 sidebar 的容器宽度达到断点时变红
  </div>
</div>

与 @container 的区别

工具类用途支持的查询单位
@container仅支持 inline-size 查询cqwcqi
@container-size支持完整尺寸查询(含 block-size)cqbcqh
<!-- 基于块方向尺寸的查询 -->
<div class="@container-size">
  <div class="h-[50cqb]">使用 cqb 单位(需要尺寸容器)</div>
</div>
Note

@container-size 是 HTML 工具类,不是 CSS 指令。它会自动设置 container-type: size,使容器支持完整的容器查询单位。

zoom-* 与 tab-* 工具类

v4.3 新增了两个直接映射 CSS 属性的工具类。

zoom:元素缩放

<!-- 放大到 150% -->
<div class="zoom-150">放大内容</div>

<!-- 缩小到 50% -->
<div class="zoom-50">缩小内容</div>

<!-- 重置缩放 -->
<div class="zoom-100">正常大小</div>
.zoom-150 {
  zoom: 1.5;
}
.zoom-50 {
  zoom: 0.5;
}
Warning

zoom 是非标准 CSS 属性,但所有主流浏览器都支持。它不影响文档流布局——元素仍占据原始尺寸的空间。

tab-*:制表符宽度

<!-- 制表符宽度为 2 字符 -->
<pre class="tab-2">代码缩进 2 空格</pre>

<!-- 制表符宽度为 4 字符 -->
<pre class="tab-4">代码缩进 4 空格</pre>

<!-- 自定义值 -->
<pre class="tab-github">使用主题定义的 8 字符制表符</pre>
.tab-2 {
  tab-size: 2;
}
.tab-4 {
  tab-size: 4;
}

逻辑属性工具类扩展

v4.2 进一步完善了逻辑属性体系,新增了 mbs-*mbe-*pbs-*pbe-* 等工具类(v4.3 中继续可用)。

块方向起止边距

<!-- margin-block-start:逻辑顶部边距 -->
<div class="mbs-4">上方间距 1rem</div>

<!-- margin-block-end:逻辑底部边距 -->
<div class="mbe-8">下方间距 2rem</div>

<!-- padding-block-start:逻辑顶部内边距 -->
<div class="pbs-6">上方内距 1.5rem</div>

<!-- padding-block-end:逻辑底部内边距 -->
<div class="pbe-2">下方内距 0.5rem</div>

与物理属性的对应关系

逻辑属性LTR 对应RTL 对应
mbs-*mt-*mt-*
mbe-*mb-*mb-*
pbs-*pt-*pt-*
pbe-*pb-*pb-*
inset-s-*left-*right-*
inset-e-*right-*left-*
Tip

逻辑属性的优势在于自动适配书写方向。LTR(从左到右)语言中 inset-s-4 等于 left-4,RTL 语言中自动变为 right-4

font-features-*:OpenType 特性控制

v4.2 新增 font-features-* 工具类(v4.3 中继续可用),让你直接控制字体的 OpenType 高级特性。

<!-- 启用等宽数字(表格对齐必备) -->
<td class="font-features-['tnum']">1,234.56</td>

<!-- 启用小型大写字母 -->
<span class="font-features-['smcp']">Hello World</span>

<!-- 启用历史连字 -->
<span class="font-features-['hlig']">difficult</span>
.font-features-\[\'tnum\'\] {
  font-variant-numeric: tabular-nums;
}

常用 OpenType 特性标签:

标签效果
tnum等宽数字(表格对齐)
smcp小型大写字母
liga标准连字
hlig历史连字
zero带斜线的零

stacked / compound @variant

v4.3 增强了 @variant 指令,支持在 CSS 中直接嵌套多个伪状态或共享样式块。

堆叠变体

.my-element {
  background: white;

  /* 同时应用 hover 和 focus 状态 */
  @variant hover:focus {
    background: black;
  }
}

编译后的 CSS:

.my-element {
  background: white;
}
.my-element:hover:focus {
  background: black;
}

逗号分隔多变体

.my-element {
  background: white;

  /* hover 或 focus 任一状态生效 */
  @variant hover, focus {
    background: black;
  }
}

编译后:

.my-element {
  background: white;
}
.my-element:hover {
  background: black;
}
.my-element:focus {
  background: black;
}

functional utilities 默认值

v4.3 引入 --default() 函数,让工具类在无参数时也能使用默认值。

定义带默认值的工具类

@utility tab-* {
  tab-size: --value(integer, --default(4));
}

现在两种写法都有效:

<!-- 显式指定值 -->
<pre class="tab-2">2 字符制表符</pre>

<!-- 使用默认值 4 -->
<pre class="tab">默认 4 字符制表符</pre>

编译结果

.tab {
  tab-size: 4;
}
.tab-2 {
  tab-size: 2;
}
Note

--default() 也可以用在 --modifier() 中,为复合工具类的修饰符提供默认值。

新增调色板(v4.2 延续)

v4.2 引入的四个中性色板在 v4.3 中继续可用:

色板用途
mauve偏紫的灰色,适合深色主题
olive偏绿的灰色,适合自然风格
mist偏蓝的灰色,适合冷色调 UI
taupe偏棕的灰色,适合暖色调 UI
<div class="bg-mauve-100 text-mauve-900">mauve 色板</div>
<div class="bg-olive-200 text-olive-800">olive 色板</div>
<div class="bg-mist-50 text-mist-950">mist 色板</div>
<div class="bg-taupe-300 text-taupe-700">taupe 色板</div>

特性速查表

特性工具类/指令用途
滚动条宽度scrollbar-thin/auto/none控制滚动条外观
滚动条颜色scrollbar-thumb-*, scrollbar-track-*定制滚动条颜色
滚动条间距scrollbar-gutter-stable为滚动条预留空间
尺寸容器@container-size/{name}完整容器查询
元素缩放zoom-*CSS zoom 属性
制表符宽度tab-*CSS tab-size 属性
逻辑属性mbs-*, mbe-*, pbs-*, pbe-*块方向起止间距
OpenTypefont-features-*字体高级特性
堆叠变体@variant hover:focus多状态组合
默认值--default()工具类默认参数
Tip

v4.3 的所有新特性都基于现代浏览器 API。如果需要兼容旧版浏览器,请确认目标用户的浏览器版本是否满足要求(Safari 16.4+, Chrome 111+, Firefox 128+)。