UI风格命名惯例(前端/设计/组件库通用,包含命名思路、命名范式、实例、避坑)

适用场景:组件名、CSS类名、主题名、PRD文档、Figma组件命名、变量名;区分设计风格名 和 代码命名规范

一、主流命名范式(优先选一种,项目内统一)

1. Kebab-case(短横线分隔,最常用:CSS / Figma / class)

规则:全部小写,单词用 - 连接,无大写
示例:
mini-menu、primary-button、card-shadow、dark-theme

2. CamelCase 小驼峰(JS/TS变量、组件实例、函数)

规则:首字母小写,后面每个单词首字母大写
示例:
miniMenu、primaryButton、darkTheme

3. PascalCase 大驼峰(组件类名、React/Vue组件、类型定义)

规则:首字母大写,后续单词首字母大写
示例:
MiniMenu、PrimaryButton、DropdownMenu

4. Snake_case 下划线(SCSS变量、常量、后端、CSS变量)

全部小写,下划线分隔
示例:
mini_menu、primary_color

5. UPPER_SNAKE_CASE 全大写下划线(常量、配置)

--COLOR_PRIMARY: #1677ff;

✅ 行业通用约定(记住这个规则)

  • CSS class / Figma图层:kebab-case
  • JS变量:camelCase
  • 组件名(Vue/React):PascalCase
  • 常量、配置参数:UPPER_SNAKE_CASE

二、UI风格命名的2套思路(风格主题 / 组件变体)

思路A:主题/整体风格命名(整套系统视觉风格)

通用形容词前缀(用来描述风格)

英文 含义 例子
light 浅色 light-theme
dark 深色 dark-theme
compact 紧凑(高密度,缩小间距) compact-menu 紧凑菜单
loose 宽松(留白大) loose-card
minimal 极简风 minimal-button
classic 经典 classic-table
modern 现代 modern-navbar
vibrant 高饱和活力 vibrant-badge
subtle 柔和低对比 subtle-divider
bold 粗重、强视觉 bold-heading

完整主题示例:
compact-dark-theme 紧凑深色主题

思路B:组件变体命名(同一个组件多种样式,组件库最常用)

固定结构模板:
[size]-[variant]-[component]

size尺寸:xs / sm / md / lg / xl
variant变体:primary / secondary / outline / ghost / filled / text
component:组件名称

示例:
sm-primary-button 小尺寸主按钮
md-ghost-mini-menu 中等尺寸幽灵样式迷你菜单

尺寸标准缩写(组件库通用)

  • xs extra-small 超小
  • sm small 小
  • md medium 中(默认,可省略)
  • lg large 大
  • xl extra-large 超大

组件变体 variant 通用关键字(高频)

关键词 中文 说明
filled 填充 实心背景按钮
outline 外框 只有边框,透明背景
ghost 幽灵 默认无背景,hover才出现背景
text 文字型 纯文字,无边框无背景
primary 主色 主强调色
secondary 次要 次要颜色
danger 危险/删除 红色警示
warning 警告 橙黄色
success 成功 绿色

示例:sm-outline-mini-menu 小型外框式迷你菜单

三、风格体系命名(整套UI体系名字,用于项目/产品)

适合你做aiwaly、月影系列这类品牌UI:

  • 命名原则:简短、英文单词,避免生造长词,不要带版本号
    示例:
    Yueying(月影,PascalCase作为主题名)
    yueying-light、yueying-dark
    yueying-compact

禁止:yueying-v2-theme(版本放配置,不要写进风格名称)

四、状态后缀(追加到组件后面,描述交互状态)

放在最后:-active -hover -focus -disabled -expanded

.mini-menu-item-active
.mini-menu-item-disabled

五、推荐的命名层次模板(直接套用)

模板1|CSS class (kebab)

[variant]-[size]-[component]-[state]
例:ghost-sm-mini-menu-expanded

模板2|前端组件(PascalCase)

[Variant][Size][Component]
例:GhostSmMiniMenu

模板3|主题名称

[brand]-[style]-[tone]
例:yueying-compact-dark

六、避坑规则(非常重要,很多项目踩雷)

  1. ❌ 不要用颜色、像素值命名(不要写 .red-button .w200-card)

    错误:red-menu
    正确:danger-menu(语义,而不是视觉颜色,后续换色不用改类名)

  2. ❌ 不要写实现细节:shadow1、border-radius-4,语义优先
  3. ✅ 语义优先,而不是描述外观
  4. ❌ 不要中文拼音混搭英文(除非品牌专有名词如 yueying)
  5. ❌ 不要缩写自创词,团队看不懂,只用行业通用缩写 xs/sm/md

七、示例合集(结合前面菜单术语)

用途 kebab(css) PascalCase(组件) 含义
迷你菜单 默认 mini-menu MiniMenu 默认迷你菜单
紧凑迷你菜单 compact-mini-menu CompactMiniMenu 紧凑版迷你菜单
小型幽灵迷你菜单 sm-ghost-mini-menu SmGhostMiniMenu sm尺寸、幽灵样式迷你菜单
深色主题迷你菜单 dark-mini-menu DarkMiniMenu 深色迷你菜单
菜单项禁用状态 mini-menu-item-disabled MiniMenuItemDisabled 禁用菜单项

八、Figma设计组件命名惯例(配套)

Figma推荐:[Component]/[Variant],[State]
例:MiniMenu / Compact, Dark

作者:月影鹏鹏  创建时间:2026-10-17 08:58
最后编辑:月影鹏鹏  更新时间:2026-10-17 08:59