Files
wukuang/theme-变量速查手册.md
2026-05-23 14:05:22 +08:00

799 lines
28 KiB
Markdown
Raw Permalink Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 主题变量与 UnoCSS 类名速查手册
> 🎨 本文档用于快速查找可用的主题变量和 UnoCSS 类名,方便样式开发。
> 📋 基于设计系统规范整理,标注了变量在 theme-lib/palette 中的实际支持情况。
---
## 📋 目录
- [UnoCSS 类名使用规则](#unocss-类名使用规则)
- [CSS 变量使用方式](#css-变量使用方式)
- [1. 中性色彩(背景色)](#1-中性色彩背景色)
- [2. 中性色彩交互状态](#2-中性色彩交互状态)
- [3. 文字&图标色彩](#3-文字图标色彩)
- [4. 主题色&功能色](#4-主题色功能色)
- [实际使用示例](#实际使用示例)
- [SCSS 变量使用](#scss-变量使用)
---
## UnoCSS 类名使用规则
### 基本格式
```
lst-[属性缩写]-[变量名]
```
### 属性缩写
| 缩写 | 完整写法 | 对应 CSS 属性 | 示例 |
| ---- | ------------ | ------------------ | -------------------- |
| `c` | `color` | `color` | `lst-c-brand-color` |
| `bg` | `background` | `background-color` | `lst-bg-brand-color` |
| `b` | `border` | `border-color` | `lst-b-brand-color` |
### 两类变量
#### 1️⃣ 特殊颜色变量(需要加属性前缀)
这些变量必须指定应用到的 CSS 属性:
```html
<!-- ✅ 正确 -->
<div class="lst-c-brand-color">文字</div>
<div class="lst-bg-brand-color">背景</div>
<div class="lst-b-brand-color">边框</div>
<!-- ❌ 错误:缺少属性前缀 -->
<div class="lst-brand-color">不生效</div>
```
**特殊颜色变量列表(主题色&功能色):**
- `brand-color` - 品牌色
- `brand-color-hover` - 品牌色 hover
- `brand-color-active` - 品牌色 active
- `brand-color-disabled` - 品牌色 disabled
- `brand-color-focus` - 品牌色 focus
- `brand-color-light` - 品牌色 light
- `error-color` - 错误色
- `error-color-hover` - 错误色 hover
- `error-color-active` - 错误色 active
- `error-color-disabled` - 错误色 disabled
- `error-color-focus` - 错误色 focus
- `error-color-light` - 错误色 light
- `warning-color` - 警示色
- `warning-color-hover` - 警示色 hover
- `warning-color-active` - 警示色 active
- `warning-color-disabled` - 警示色 disabled
- `warning-color-focus` - 警示色 focus
- `warning-color-light` - 警示色 light
- `success-color` - 成功色
- `success-color-hover` - 成功色 hover
- `success-color-active` - 成功色 active
- `success-color-disabled` - 成功色 disabled
- `success-color-focus` - 成功色 focus
- `success-color-light` - 成功色 light
#### 2️⃣ 普通变量(直接使用)
其他变量直接使用 `lst-变量名`
```html
<div class="lst-text-color-primary">文字</div>
<div class="lst-bg-color-container">背景</div>
<div class="lst-component-border">边框</div>
```
---
## CSS 变量使用方式
### 基本格式
```css
var(--ls-[变量名])
```
### 使用场景
当你需要在 **JavaScript/TypeScript****内联样式** 中使用主题变量时,可以使用 CSS 变量:
#### 1️⃣ 在 JavaScript 中获取变量值
```typescript
// 获取主题变量值
const brandColor = getComputedStyle(document.documentElement).getPropertyValue(
"--ls-brand-color",
);
// 返回: "#1765FF"
const textColor = getComputedStyle(document.documentElement).getPropertyValue(
"--ls-text-color-primary",
);
// 返回: "rgba(0,0,0,.9)"
```
#### 2️⃣ 在 Vue 内联样式中使用
```vue
<template>
<div :style="{ backgroundColor: 'var(--ls-bg-color-container)' }">
动态背景色
</div>
</template>
```
#### 3️⃣ 在 CSS 中使用
```css
.custom-element {
background-color: var(--ls-bg-color-container);
color: var(--ls-text-color-primary);
border: 1px solid var(--ls-component-border);
}
```
#### 4️⃣ 在 SCSS 中使用
```scss
.custom-element {
background-color: var(--ls-bg-color-container);
color: var(--ls-text-color-primary);
&:hover {
background-color: var(--ls-bg-color-container-hover);
}
}
```
### 变量映射规则
| UnoCSS 类名 | CSS 变量 | 说明 |
| -------------------------- | ------------------------------ | -------- |
| `lst-c-brand-color` | `var(--ls-brand-color)` | 文字颜色 |
| `lst-bg-brand-color` | `var(--ls-brand-color)` | 背景颜色 |
| `lst-b-brand-color` | `var(--ls-brand-color)` | 边框颜色 |
| `lst-bg-color-container` | `var(--ls-bg-color-container)` | 容器背景 |
| `lst-c-text-color-primary` | `var(--ls-text-color-primary)` | 主要文字 |
| `lst-component-border` | `var(--ls-component-border)` | 组件边框 |
### 完整变量名列表
所有主题变量都遵循 `--ls-[变量名]` 的格式,例如:
**中性色彩:**
- `--ls-bg-color-page`
- `--ls-bg-color-container`
- `--ls-bg-color-secondarycontainer`
- `--ls-bg-color-component`
- `--ls-component-stroke`
- `--ls-component-border`
**主题色&功能色:**
- `--ls-brand-color`
- `--ls-brand-color-hover`
- `--ls-brand-color-active`
- `--ls-error-color`
- `--ls-warning-color`
- `--ls-success-color`
**文字色彩:**
- `--ls-text-color-primary`
- `--ls-text-color-secondary`
- `--ls-text-color-placeholder`
- `--ls-text-color-disabled`
- `--ls-text-color-anti`
### 注意事项
1. **变量前缀**:所有 CSS 变量都以 `--ls-` 开头
2. **响应式**:CSS 变量会自动跟随主题切换,无需手动更新
3. **兼容性**:支持所有现代浏览器(Chrome 49+, Firefox 31+, Safari 9.1+
4. **推荐用法**
- ✅ 模板中使用 UnoCSS 类名(性能更好)
- ✅ 动态样式使用 CSS 变量
- ✅ SCSS 中优先使用 `useThemeVar()` 函数(见下方 SCSS 章节)
---
## 1. 中性色彩(背景色)
> Light 模式默认全局中性色彩配置
| 变量名 | UnoCSS 类名 | 颜色值 | 颜色描述 | 用途 | 状态 |
| ----------------------------- | --------------------------------- | --------- | ------------------ | ------------------------------ | --------- |
| `bg-color-page` | `lst-bg-color-page` | `#EEEEF0` | 浅灰(冷色调) | 默认页面底层背景 | ✅ 已支持 |
| `bg-color-container` | `lst-bg-color-container` | `#FFFFFF` | 纯白色 | 主要容器背景、次要层级页面背景 | ✅ 已支持 |
| `bg-color-secondarycontainer` | `lst-bg-color-secondarycontainer` | `#F6F6F7` | 极浅灰(接近白色) | 次要容器背景 | ✅ 已支持 |
| `bg-color-component` | `lst-bg-color-component` | `#E7E8EB` | 浅灰色 | 组件背景、主要容器之上组件背景 | ✅ 已支持 |
| `component-stroke` | `lst-component-stroke` | `#E7E8EB` | 浅灰色 | 默认组件分割线 | ✅ 已支持 |
| `component-border` | `lst-component-border` | `#DCDDE1` | 中浅灰色 | 默认边框 | ✅ 已支持 |
---
## 2. 中性色彩交互状态
> 交互状态(hover、active、disabled
| 变量名 | UnoCSS 类名 | 颜色值 | 颜色描述 | 用途 | 状态 |
| ------------------------------------ | ---------------------------------------- | --------- | ------------------ | ------------------------------------------------ | --------- |
| `bg-color-container-hover` | `lst-bg-color-container-hover` | `#F6F6F7` | 极浅灰(接近白色) | 主要容器背景 hover、次要层级页面背景 hover | ✅ 已支持 |
| `bg-color-container-active` | `lst-bg-color-container-active` | `#E7E8EB` | 浅灰色 | 主要容器背景 click、次要层级页面背景 click | ✅ 已支持 |
| `bg-color-secondarycontainer-hover` | `lst-bg-color-secondarycontainer-hover` | `#EEEEF0` | 浅灰(冷色调) | 次要容器背景 hover | ✅ 已支持 |
| `bg-color-secondarycontainer-active` | `lst-bg-color-secondarycontainer-active` | `#DCDDE1` | 中浅灰色 | 次要容器背景 click | ✅ 已支持 |
| `bg-color-component-hover` | `lst-bg-color-component-hover` | `#DCDDE1` | 中浅灰色 | 组件背景 hover、主要容器之上组件背景 hover | ✅ 已支持 |
| `bg-color-component-active` | `lst-bg-color-component-active` | `#A2A6B1` | 中灰色 | 组件背景 active、主要容器之上组件背景 active | ✅ 已支持 |
| `bg-color-component-disabled` | `lst-bg-color-component-disabled` | `#EEEEF0` | 浅灰(冷色调) | 组件背景 disabled、主要容器之上组件背景 disabled | ✅ 已支持 |
---
## 3. 文字&图标色彩
> 默认 Light 模式文字色彩配置
| 变量名 | UnoCSS 类名 | 颜色值 | 颜色描述 | 用途 | 状态 |
| ------------------------ | ------------------------------ | ---------------------- | ---------------------- | -------------------------- | --------- |
| `text-color-primary` | `lst-c-text-color-primary` | `rgba(0,0,0,.9)` | 深黑(90%透明度) | 主要文字色彩 | ✅ 已支持 |
| `text-color-secondary` | `lst-c-text-color-secondary` | `rgba(0,0,0,.6)` | 中黑(60%透明度) | 次要文字色彩 | ✅ 已支持 |
| `text-color-placeholder` | `lst-c-text-color-placeholder` | `rgba(0,0,0,.4)` | 浅黑(40%透明度) | 占位符文字色彩 | ✅ 已支持 |
| `text-color-disabled` | `lst-c-text-color-disabled` | `rgba(0,0,0,.26)` | 极浅黑(26%透明度) | 文字 disabled 态 | ✅ 已支持 |
| `text-color-anti` | `lst-c-text-color-anti` | `rgba(255,255,255,.9)` | 纯白(90%透明度) | 文字反色色彩(深色背景上) | ✅ 已支持 |
| `text-color-brand` | `lst-c-text-color-brand` | `#1765FF` | 品牌蓝(中等亮度蓝色) | 主题色文字色彩 | ✅ 已支持 |
| `text-color-link` | `lst-c-text-color-link` | `#1765FF` | 品牌蓝(中等亮度蓝色) | 链接文字 | ✅ 已支持 |
---
## 4. 主题色&功能色
> 主题相关配置
### 品牌色
| 变量名 | UnoCSS 类名 | 颜色值 | 颜色描述 | 用途 | 状态 |
| ---------------------- | ------------------------------------------------------------------ | --------- | ---------------------- | ---------------------------- | --------- |
| `brand-color` | `lst-c-brand-color`<br>`lst-bg-brand-color`<br>`lst-b-brand-color` | `#1765FF` | 品牌蓝(中等亮度蓝色) | 品牌色 | ✅ 已支持 |
| `brand-color-hover` | `lst-c-brand-color-hover`<br>`lst-bg-brand-color-hover` | `#4287FF` | 亮蓝(较浅蓝色) | 品牌色 hover | ✅ 已支持 |
| `brand-color-active` | `lst-c-brand-color-active`<br>`lst-bg-brand-color-active` | `#0947D9` | 深蓝(较深蓝色) | 品牌色 active | ✅ 已支持 |
| `brand-color-disabled` | `lst-c-brand-color-disabled`<br>`lst-bg-brand-color-disabled` | `#C4E0FF` | 极浅蓝(接近白色) | 品牌色 disabled | ✅ 已支持 |
| `brand-color-focus` | `lst-c-brand-color-focus`<br>`lst-bg-brand-color-focus` | `#99C5FF` | 浅蓝(明亮蓝色) | 品牌色 focus | ✅ 已支持 |
| `brand-color-light` | `lst-bg-brand-color-light` | `#F0FAFF` | 极浅蓝(接近白色) | 品牌色 light(交互状态使用) | ✅ 已支持 |
### 错误色
| 变量名 | UnoCSS 类名 | 颜色值 | 颜色描述 | 用途 | 状态 |
| ---------------------- | ------------------------------------------------------------------ | --------- | ---------------------- | ---------------------------- | --------- |
| `error-color` | `lst-c-error-color`<br>`lst-bg-error-color`<br>`lst-b-error-color` | `#F63D46` | 警示红(高饱和度红色) | 错误色 | ✅ 已支持 |
| `error-color-hover` | `lst-c-error-color-hover`<br>`lst-bg-error-color-hover` | `#FF6B6E` | 亮红(较浅红色) | 错误色 hover | ✅ 已支持 |
| `error-color-active` | `lst-c-error-color-active`<br>`lst-bg-error-color-active` | `#CF2937` | 深红(较深红色) | 错误色 active | ✅ 已支持 |
| `error-color-disabled` | `lst-c-error-color-disabled`<br>`lst-bg-error-color-disabled` | `#FFC5C2` | 极浅红(粉色) | 错误色 disabled | ✅ 已支持 |
| `error-color-focus` | `lst-c-error-color-focus`<br>`lst-bg-error-color-focus` | `#FF9896` | 浅红(明亮红色) | 错误色 focus | ✅ 已支持 |
| `error-color-light` | `lst-bg-error-color-light` | `#FFEFED` | 极浅红(接近白色) | 错误色 light(交互状态使用) | ✅ 已支持 |
### 警示色
| 变量名 | UnoCSS 类名 | 颜色值 | 颜色描述 | 用途 | 状态 |
| ------------------------ | ------------------------------------------------------------------------ | --------- | ---------------------- | ---------------------------- | --------- |
| `warning-color` | `lst-c-warning-color`<br>`lst-bg-warning-color`<br>`lst-b-warning-color` | `#FF7C17` | 警示橙(高饱和度橙色) | 警示色 | ✅ 已支持 |
| `warning-color-hover` | `lst-c-warning-color-hover`<br>`lst-bg-warning-color-hover` | `#FF9A42` | 亮橙(较浅橙色) | 警示色 hover | ✅ 已支持 |
| `warning-color-active` | `lst-c-warning-color-active`<br>`lst-bg-warning-color-active` | `#D95C09` | 深橙(较深橙色) | 警示色 active | ✅ 已支持 |
| `warning-color-disabled` | `lst-c-warning-color-disabled`<br>`lst-bg-warning-color-disabled` | `#FFE6C4` | 极浅橙(淡黄色) | 警示色 disabled | ✅ 已支持 |
| `warning-color-focus` | `lst-c-warning-color-focus`<br>`lst-bg-warning-color-focus` | `#FFCF99` | 浅橙(明亮橙色) | 警示色 focus | ✅ 已支持 |
| `warning-color-light` | `lst-bg-warning-color-light` | `#FFF9F0` | 极浅橙(接近白色) | 警示色 light(交互状态使用) | ✅ 已支持 |
### 成功色
| 变量名 | UnoCSS 类名 | 颜色值 | 颜色描述 | 用途 | 状态 |
| ------------------------ | ------------------------------------------------------------------------ | --------- | ---------------------- | ---------------------------- | --------- |
| `success-color` | `lst-c-success-color`<br>`lst-bg-success-color`<br>`lst-b-success-color` | `#11B832` | 自然绿(中等亮度绿色) | 成功色 | ✅ 已支持 |
| `success-color-hover` | `lst-c-success-color-hover`<br>`lst-bg-success-color-hover` | `#33C44B` | 亮绿(较浅绿色) | 成功色 hover | ✅ 已支持 |
| `success-color-active` | `lst-c-success-color-active`<br>`lst-bg-success-color-active` | `#069126` | 深绿(较深绿色) | 成功色 active | ✅ 已支持 |
| `success-color-disabled` | `lst-c-success-color-disabled`<br>`lst-bg-success-color-disabled` | `#B5EBB8` | 极浅绿(淡绿色) | 成功色 disabled | ✅ 已支持 |
| `success-color-focus` | `lst-c-success-color-focus`<br>`lst-bg-success-color-focus` | `#85DE8E` | 浅绿(明亮绿色) | 成功色 focus | ✅ 已支持 |
| `success-color-light` | `lst-bg-success-color-light` | `#EEFCED` | 极浅绿(接近白色) | 成功色 light(交互状态使用) | ✅ 已支持 |
---
## 实际使用示例
### 示例 1:卡片组件
```vue
<template>
<!-- 白色卡片带边框 -->
<div
class="lst-bg-color-container lst-component-border rounded-lg shadow-sm p-4"
>
<h3 class="lst-c-text-color-primary font-bold mb-2">卡片标题</h3>
<p class="lst-c-text-color-secondary mb-4">卡片内容描述</p>
<button
class="lst-bg-brand-color lst-c-text-color-anti px-4 py-2 rounded hover:lst-bg-brand-color-hover"
>
主要操作
</button>
</div>
</template>
```
### 示例 2:警告提示框
```vue
<template>
<!-- 橙色警告提示 -->
<div
class="lst-bg-warning-color-light lst-b-warning-color p-4 rounded flex items-center"
>
<span class="lst-c-warning-color mr-2"></span>
<span class="lst-c-warning-color">这是一条警告信息</span>
</div>
</template>
```
### 示例 3:表格样式
```vue
<template>
<!-- 表格容器 -->
<div class="lst-bg-color-container lst-component-border rounded">
<!-- 表头 -->
<div
class="lst-bg-color-secondarycontainer lst-c-text-color-primary font-bold px-4 py-2"
>
列标题
</div>
<!-- 斑马纹行 -->
<div
class="lst-bg-color-secondarycontainer lst-c-text-color-secondary px-4 py-2"
>
普通行
</div>
<div class="lst-bg-color-container lst-c-text-color-secondary px-4 py-2">
斑马行
</div>
<!-- 分隔线 -->
<div class="lst-component-stroke h-px"></div>
</div>
</template>
```
### 示例 4:表单输入框
```vue
<template>
<div class="space-y-2">
<label class="lst-c-text-color-primary">用户名</label>
<input
class="lst-bg-color-container lst-component-border lst-c-text-color-primary
border rounded px-3 py-2 w-full
focus:lst-b-brand-color focus:outline-none"
placeholder="请输入用户名"
/>
<!-- 占位符提示 -->
<p class="lst-c-text-color-placeholder text-sm">请输入您的登录用户名</p>
<!-- 错误提示 -->
<p class="lst-c-error-color text-sm">用户名不能为空</p>
</div>
</template>
```
### 示例 5:成功提示框
```vue
<template>
<!-- 绿色成功提示 -->
<div
class="lst-bg-success-color-light lst-b-success-color p-4 rounded flex items-center"
>
<span class="lst-c-success-color mr-2"></span>
<span class="lst-c-success-color">操作成功</span>
</div>
</template>
```
### 示例 6:按钮组
```vue
<template>
<div class="flex gap-2">
<!-- 主按钮 -->
<button
class="lst-bg-brand-color lst-c-text-color-anti px-4 py-2 rounded hover:lst-bg-brand-color-hover"
>
确认
</button>
<!-- 次要按钮 -->
<button
class="lst-bg-brand-color-light lst-c-brand-color px-4 py-2 rounded hover:lst-bg-brand-color-hover"
>
提交
</button>
<!-- 灰色按钮 -->
<button
class="lst-bg-color-component lst-c-text-color-primary px-4 py-2 rounded hover:lst-bg-color-component-hover"
>
取消
</button>
<!-- 危险按钮 -->
<button
class="lst-bg-error-color lst-c-text-color-anti px-4 py-2 rounded hover:lst-bg-error-color-hover"
>
删除
</button>
<!-- 成功按钮 -->
<button
class="lst-bg-success-color lst-c-text-color-anti px-4 py-2 rounded"
>
通过
</button>
<!-- 禁用按钮 -->
<button
class="lst-bg-brand-color-disabled lst-c-text-color-disabled px-4 py-2 rounded"
disabled
>
不可用
</button>
</div>
</template>
```
### 示例 7:弹窗/模态框
```vue
<template>
<!-- 遮罩层 -->
<div
class="lst-bg-color-page fixed inset-0 z-50 flex items-center justify-center"
>
<!-- 弹窗内容 -->
<div
class="lst-bg-color-container lst-c-text-color-primary rounded-lg shadow-lg w-96 p-6"
>
<!-- 标题栏 -->
<div
class="lst-bg-color-secondarycontainer lst-c-text-color-primary font-bold pb-4 mb-4 border-b lst-component-border"
>
弹窗标题
</div>
<!-- 内容区 -->
<div class="lst-c-text-color-secondary mb-6">这里是弹窗内容区域</div>
<!-- 底部按钮 -->
<div class="flex justify-end gap-2">
<button
class="lst-bg-color-component lst-c-text-color-primary px-4 py-2 rounded hover:lst-bg-color-component-hover"
>
取消
</button>
<button
class="lst-bg-brand-color lst-c-text-color-anti px-4 py-2 rounded hover:lst-bg-brand-color-hover"
>
确认
</button>
</div>
</div>
</div>
</template>
```
### 示例 8:状态标签
```vue
<template>
<div class="flex gap-2">
<!-- 成功状态 -->
<span
class="lst-bg-success-color-light lst-c-success-color px-3 py-1 rounded-full text-sm"
>
已通过
</span>
<!-- 警告状态 -->
<span
class="lst-bg-warning-color-light lst-c-warning-color px-3 py-1 rounded-full text-sm"
>
待审核
</span>
<!-- 错误状态 -->
<span
class="lst-bg-error-color-light lst-c-error-color px-3 py-1 rounded-full text-sm"
>
已拒绝
</span>
<!-- 品牌状态 -->
<span
class="lst-bg-brand-color-light lst-c-brand-color px-3 py-1 rounded-full text-sm"
>
进行中
</span>
</div>
</template>
```
---
## SCSS 变量使用
当 UnoCSS 无法满足需求时(如复杂计算、伪元素、媒体查询等),使用 SCSS:
### 基本用法
```vue
<style lang="scss" scoped>
@use "@lingshu/theme-lib/scss/util.scss" as *;
.my-component {
color: useThemeVar("text-color-primary");
background-color: useThemeVar("bg-color-container");
border: 1px solid useThemeVar("component-border");
}
</style>
```
### 复杂示例
```vue
<style lang="scss" scoped>
@use "@lingshu/theme-lib/scss/util.scss" as *;
.card {
background-color: useThemeVar("bg-color-container");
border: 1px solid useThemeVar("component-border");
border-radius: useThemeVar("border-radius-md");
transition: all 0.3s ease;
&:hover {
border-color: useThemeVar("border-color-primary");
box-shadow: useThemeVar("shadow2");
background-color: useThemeVar("bg-color-secondarycontainer");
}
&::before {
content: "";
position: absolute;
background-color: useThemeVar("brand-color");
}
.title {
color: useThemeVar("text-color-primary");
font-size: 16px;
}
.description {
color: useThemeVar("text-color-secondary");
}
.divider {
height: 1px;
background-color: useThemeVar("component-stroke");
}
.error-message {
color: useThemeVar("error-color");
background-color: useThemeVar("error-color-light");
}
.success-message {
color: useThemeVar("success-color");
background-color: useThemeVar("success-color-light");
}
}
</style>
```
---
## 🎯 常用组合速查
### 文字层次
```html
<!-- 标题 -->
<h1 class="lst-c-text-color-primary text-xl font-bold">一级标题</h1>
<h2 class="lst-c-text-color-primary text-lg font-semibold">二级标题</h2>
<!-- 正文 -->
<p class="lst-c-text-color-secondary">正文内容</p>
<!-- 占位符 -->
<span class="lst-c-text-color-placeholder">占位符文字</span>
<span class="lst-c-text-color-disabled">禁用文字</span>
```
### 卡片/容器
```html
<!-- 基础卡片 -->
<div class="lst-bg-color-container lst-component-border rounded p-4">
白色卡片
</div>
<!-- 带阴影的卡片 -->
<div class="lst-bg-color-container rounded shadow-md p-4">悬浮卡片</div>
<!-- 灰色背景容器 -->
<div class="lst-bg-color-secondarycontainer rounded p-4">灰色背景区域</div>
<!-- 页面底层背景 -->
<div class="lst-bg-color-page min-h-screen">页面内容</div>
```
### 表单元素
```html
<!-- 输入框 -->
<input
class="lst-bg-color-container lst-component-border lst-c-text-color-primary border rounded px-3 py-2"
/>
<!-- 标签 -->
<label class="lst-c-text-color-primary font-medium">标签文字</label>
<!-- 错误提示 -->
<p class="lst-c-error-color text-sm">错误信息</p>
<!-- 成功提示 -->
<p class="lst-c-success-color text-sm">操作成功</p>
```
### 状态标签
```html
<!-- 成功标签 -->
<span class="lst-bg-success-color-light lst-c-success-color px-2 py-1 rounded"
>成功</span
>
<!-- 警告标签 -->
<span class="lst-bg-warning-color-light lst-c-warning-color px-2 py-1 rounded"
>警告</span
>
<!-- 错误标签 -->
<span class="lst-bg-error-color-light lst-c-error-color px-2 py-1 rounded"
>错误</span
>
<!-- 品牌标签 -->
<span class="lst-bg-brand-color-light lst-c-brand-color px-2 py-1 rounded"
>进行中</span
>
```
### 按钮状态
```html
<!-- 主按钮 -->
<button class="lst-bg-brand-color lst-c-text-color-anti px-4 py-2 rounded">
默认
</button>
<!-- 主按钮 Hover -->
<button
class="lst-bg-brand-color-hover lst-c-text-color-anti px-4 py-2 rounded"
>
Hover
</button>
<!-- 禁用按钮 -->
<button
class="lst-bg-brand-color-disabled lst-c-text-color-disabled px-4 py-2 rounded"
disabled
>
Disabled
</button>
<!-- Focus 状态 -->
<button
class="lst-bg-brand-color lst-c-text-color-anti px-4 py-2 rounded focus:lst-ring-brand-color-focus"
>
Focus
</button>
```
---
## ⚠️ 注意事项
### 1. 特殊颜色必须加属性前缀
```html
<!-- ✅ 正确 -->
<div class="lst-c-brand-color lst-bg-brand-color">
<!-- ❌ 错误 -->
<div class="lst-brand-color"></div>
</div>
```
### 2. 不要在样式中硬编码颜色值
```vue
<!-- 错误 -->
<div style="color: #333; background: #fff;">
<!-- 正确 -->
<div class="lst-c-text-color-primary lst-bg-color-container">
```
### 3. 阴影使用
UnoCSS 暂不支持直接使用阴影变量,需要:
- 使用 UnoCSS 内置的 `shadow-sm``shadow-md``shadow-lg`
- 或在 SCSS 中使用 `useThemeVar('shadow1')`
### 4. 圆角使用
推荐使用 UnoCSS 内置类名:
- `rounded-sm` = 2px
- `rounded` = 4px
- `rounded-md` = 6px
- `rounded-lg` = 8px
- `rounded-xl` = 12px
或使用主题变量(SCSS 中):
- `useThemeVar('border-radius-sm')` = 2px
- `useThemeVar('border-radius-base')` = 4px
- `useThemeVar('border-radius-md')` = 8px
- `useThemeVar('border-radius-lg')` = 10px
- `useThemeVar('border-radius-xl')` = 15px
---
## 🔍 调试技巧
### 在浏览器中查看当前主题变量
1. 打开开发者工具(F12
2. 切换到 Elements 面板
3. 选中 `<html>` 元素
4. 查看 Computed 样式中的 `--ls-*` 变量
5. 点击变量值可以实时修改预览
### 切换主题查看效果
在控制台执行:
```javascript
// 切换到暗色主题
document.documentElement.classList.add("ls-theme__dark");
document.documentElement.classList.remove("ls-theme__light");
// 切换到亮色主题
document.documentElement.classList.add("ls-theme__light");
document.documentElement.classList.remove("ls-theme__dark");
```
---
## 🎯 快速参考卡片
### 最常用变量 TOP 10
| 排名 | 变量 | 用途 | UnoCSS 类名 |
| ---- | ----------------------------- | --------- | --------------------------------- |
| 1 | `text-color-primary` | 标题/正文 | `lst-c-text-color-primary` |
| 2 | `text-color-secondary` | 次级文字 | `lst-c-text-color-secondary` |
| 3 | `bg-color-container` | 白色背景 | `lst-bg-color-container` |
| 4 | `bg-color-secondarycontainer` | 灰色背景 | `lst-bg-color-secondarycontainer` |
| 5 | `brand-color` | 品牌色 | `lst-c-brand-color` |
| 6 | `component-border` | 边框 | `lst-component-border` |
| 7 | `error-color` | 错误色 | `lst-c-error-color` |
| 8 | `success-color` | 成功色 | `lst-c-success-color` |
| 9 | `warning-color` | 警告色 | `lst-c-warning-color` |
| 10 | `component-stroke` | 分割线 | `lst-component-stroke` |
---