← [ BACK_TO_NOTES ]

Tailwind v4 主题命名约定

Tailwind v4 的主题变量命名空间、语义 token 分层与一份保留的深色配色示例。

#howto #growing #frontend #css

Tailwind v4 主题命名约定

[!info] related notes

命名空间与用途

@theme 的命名空间决定设计值可用于哪些工具类;生成哪些具体类还取决于源码检测。以下是 v4 约定:

变量前缀常见工具类
--color-*bg-*、text-*、border-*、ring-*
--spacing-*p-*、m-*、gap-*、top-* 等
--radius-*rounded-*
--shadow-*shadow-*
--font-*字体家族,如 font-sans
--text-*字号,如 text-sm

原始色板可以使用 green-500 这类名称;组件用途可使用 primary、surface、muted 等语义名。两层可以共存,不必把所有颜色强制改成语义名。项目选择一套稳定映射,并明确明暗主题如何切换。

保留的深色配色示例

以下保留原笔记的深色、半透明卡片与绿色发光方案,作为一个具体视觉方案,不代表全库项目已经采用,也不是普适设计规范。间距、透明度、对比度和发光效果需在实际页面验收。

/* src/styles/global.css */
@import "tailwindcss";

@theme {
  /* =========================================
     1. 表面与底色 (Surfaces & Backgrounds)
     命名逻辑:从最底层的背景,到上面悬浮的卡片
     ========================================= */
  --color-background: #0a0a0a; /* 页面背景 */
  --color-surface: rgba(255, 255, 255, 0.02); /* 卡片表面 */
  --color-surface-hover: rgba(255, 255, 255, 0.05); /* 卡片鼠标悬浮时的提亮状态 */
  --color-surface-sunken: rgba(0, 0, 0, 0.2); /* 凹陷的搜索框或内部输入区 */

  /* =========================================
     2. 品牌与强调色 (Brand & Accents)
     命名逻辑:代表品牌强调色
     ========================================= */
  --color-primary: #10B981; /* 品牌强调色 */
  --color-primary-glow: rgba(16, 185, 129, 0.3); /* 专供阴影发光的透明绿 */

  /* =========================================
     3. 文本层级 (Typography Colors)
     命名逻辑:按阅读的重要程度划分
     ========================================= */
  --color-text-base: #f3f4f6; /* 主标题、卡片名字的亮白色 */
  --color-text-muted: #9ca3af; /* Description、辅助信息的低调灰 */

  /* =========================================
     4. 物理边界与圆角 (Borders & Radii)
     命名逻辑:按组件的体型划分
     ========================================= */
  --color-border-ghost: rgba(255, 255, 255, 0.05); /* 极细的幽灵边框 */

  --radius-card: 12px; /* 示例卡片圆角 */
  --radius-icon: 8px;  /* 内部 Logo 容器的小圆角 */

  /* =========================================
     5. 发光效果 (Shadows)
     命名逻辑:直接将发光效果封装成一个 Token
     ========================================= */
  --shadow-neon: 0 0 20px var(--color-primary-glow);
}

/* 示例页面默认底色 */
@layer base {
  body {
    background-color: var(--color-background);
    color: var(--color-text-base);
    @apply antialiased selection:bg-primary/30;
  }
}

对应标记:

<div class="bg-surface hover:bg-surface-hover border border-border-ghost rounded-card text-text-base group relative">
  <div class="absolute inset-0 opacity-0 group-hover:opacity-100 shadow-neon rounded-card transition-opacity duration-300"></div>

  <div class="rounded-icon bg-surface-sunken">…</div>

  <p class="text-text-muted">…</p>
</div>

--color-text-base 会对应 text-text-base;这在语法上有效,但是否采用这种命名取决于团队约定。--color-surface-hover 定义颜色值,只有 hover:bg-surface-hover 才附加 hover 条件。

此示例直接设置深色底色;若需运行时多主题,参考主题 Token 笔记中的普通 CSS 变量映射,而不是把深色常量当作完整的主题切换机制。

参考

创建于 2026/2/28 更新于 2026/10/17
Digital Biome
Access

键盘导航

j / k / ↑ / ↓
选择对象
Enter / o
打开选择
/ 或 Ctrl+K
全站搜索
i / f / 1–4
筛选当前列表
g → h / l / p / t / a
首页 / 笔记 / 项目 / 工具 / About
r → 1–9
打开所选对象的关联
u
返回上一页
Esc
关闭浮层 / 取消命令;输入框内清空文本