css2class 2.0.0 → 2.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. package/.github/workflows/deploy-docs.yml +53 -0
  2. package/.head_config.mjs +68 -0
  3. package/CONFIG.md +38 -1
  4. package/README.md +595 -633
  5. package/bin/class2css.js +32 -4
  6. package/common.css +1 -1
  7. package/configs/typography.config.js +1 -0
  8. package/docs/.vitepress/config.mjs +68 -65
  9. package/docs/guide/cli.md +97 -97
  10. package/docs/guide/config-template.md +16 -1
  11. package/docs/guide/config.md +129 -64
  12. package/docs/guide/faq.md +202 -202
  13. package/docs/guide/getting-started.md +86 -83
  14. package/docs/guide/incremental.md +164 -162
  15. package/docs/guide/rules-reference.md +73 -1
  16. package/docs/index.md +71 -68
  17. package/examples/weapp/README.md +15 -0
  18. package/examples/weapp/class2css.config.js +70 -0
  19. package/examples/weapp/src/placeholder.wxml +0 -0
  20. package/examples/weapp/styles.config.js +201 -0
  21. package/examples/web/README.md +25 -0
  22. package/examples/web/class2css.config.js +70 -0
  23. package/examples/web/demo.html +105 -0
  24. package/examples/web/src/placeholder.html +5 -0
  25. package/examples/web/styles.config.js +201 -0
  26. package/package.json +7 -2
  27. package/src/README.md +99 -0
  28. package/src/core/ConfigManager.js +440 -431
  29. package/src/core/FullScanManager.js +438 -430
  30. package/src/generators/DynamicClassGenerator.js +270 -72
  31. package/src/index.js +1091 -1046
  32. package/src/parsers/ClassParser.js +8 -2
  33. package/src/utils/CssFormatter.js +400 -47
  34. package/src/utils/UnitProcessor.js +4 -3
  35. package/src/watchers/ConfigWatcher.js +413 -413
  36. package/src/watchers/FileWatcher.js +148 -133
  37. package/src/writers/FileWriter.js +444 -302
  38. package/src/writers/UnifiedWriter.js +413 -370
  39. package/class2css.config.js +0 -124
  40. package/styles.config.js +0 -250
@@ -1,83 +1,86 @@
1
- # 快速开始
2
-
3
- 你将完成:安装 → 写最小配置 → 运行生成 → 在模板中使用类名。
4
-
5
- ## 安装
6
-
7
- ```bash
8
- npm install css2class --save-dev
9
- ```
10
-
11
- :::tip 推荐
12
- 如果你希望用一条命令直接跑起来,也可以使用 `npx class2css`(前提是已安装到项目里)。
13
- :::
14
-
15
- ## 运行方式
16
-
17
- ### 监听模式(开发)
18
-
19
- ```bash
20
- # 启动工具(默认监听模式)
21
- npm run start
22
-
23
- # 开发模式(文件监听)
24
- npm run dev
25
- ```
26
-
27
- ### 单次构建(CI/构建)
28
-
29
- ```bash
30
- # 构建模式(单次扫描后退出,不监听)
31
- npm run build
32
- ```
33
-
34
- ### 帮助与版本
35
-
36
- ```bash
37
- npm run help
38
- npm run version
39
- ```
40
-
41
- ## 创建最小配置
42
-
43
- 在项目根目录创建 `class2css.config.js`:
44
-
45
- ```javascript
46
- module.exports = {
47
- system: { baseUnit: 'rpx', unitConversion: 2, cssFormat: 'compressed' },
48
- output: {
49
- path: '../dist',
50
- fileName: 'styles.wxss',
51
- },
52
- cssName: {
53
- m: { classArr: ['margin'], unit: 'rpx' },
54
- w: { classArr: ['width'], unit: 'rpx' },
55
- h: { classArr: ['height'], unit: 'rpx' },
56
- },
57
- };
58
- ```
59
-
60
- :::tip 下一步
61
- 把配置写“可维护”,并开启单位策略/排序/诊断等能力:建议直接阅读 [配置指南](./config.md) 并从示例配置改起。
62
- :::
63
-
64
- ## 使用类名
65
-
66
- ```html
67
- <view class="m-10 w-100 h-200"></view>
68
- ```
69
-
70
- 你会得到类似(取决于单位配置):
71
-
72
- ```css
73
- .m-10 { margin: 20rpx; }
74
- .w-100 { width: 200rpx; }
75
- .h-200 { height: 400rpx; }
76
- ```
77
-
78
- ## 下一步
79
-
80
- - 先把“语法与规则”弄清楚:阅读 [类名语法与生成规则](./concepts.md)
81
- - 需要知道有哪些命令:阅读 [CLI](./cli.md)
82
- - 想性能更稳:了解 [增量模式(只增不删)](./incremental.md)
83
-
1
+ # 快速开始
2
+
3
+ 你将完成:安装 → 写最小配置 → 运行生成 → 在模板中使用类名。
4
+
5
+ ## 安装
6
+
7
+ ```bash
8
+ npm install css2class --save-dev
9
+ ```
10
+
11
+ :::tip 推荐
12
+ 如果你希望用一条命令直接跑起来,也可以使用 `npx class2css`(前提是已安装到项目里)。
13
+ :::
14
+
15
+ ## 运行方式
16
+
17
+ ### 监听模式(开发)
18
+
19
+ ```bash
20
+ # 启动工具(默认监听模式;默认使用根目录配置:./class2css.config.js)
21
+ npm run start
22
+
23
+ # 开发模式(文件监听;默认使用根目录配置:./class2css.config.js)
24
+ npm run dev
25
+
26
+ # 或者显式运行内置示例(推荐)
27
+ npm run example:weapp
28
+ npm run example:web
29
+ ```
30
+
31
+ ### 单次构建(CI/构建)
32
+
33
+ ```bash
34
+ # 构建模式(单次扫描后退出,不监听)
35
+ npm run build
36
+ ```
37
+
38
+ ### 帮助与版本
39
+
40
+ ```bash
41
+ npm run help
42
+ npm run version
43
+ ```
44
+
45
+ ## 复制示例配置(推荐)
46
+
47
+ 本项目的配置项较多(并且当前版本运行时依赖 `multiFile`、`atomicRules` 等字段),**不建议从零手写**。
48
+
49
+ 直接从仓库内置示例复制即可:
50
+
51
+ - **小程序(wxss / rpx)**:复制 `examples/weapp/` 下的 `class2css.config.js` + `styles.config.js`
52
+ - **Web(css / px)**:复制 `examples/web/` 下的 `class2css.config.js` + `styles.config.js`
53
+
54
+ 复制后你有两种启动方式:
55
+
56
+ - **方式 A(推荐)**:用 `-c` 指定示例配置(不需要改默认文件名)
57
+ - `class2css -c ./examples/weapp/class2css.config.js`
58
+ - `class2css -c ./examples/web/class2css.config.js`
59
+ - **方式 B**:把示例配置放到项目根目录并改名为默认配置文件
60
+ - `class2css.config.js`
61
+ - `styles.config.js`
62
+
63
+ :::tip 下一步
64
+ 示例配置里把路径/输出都写成相对路径了,你只需要改 `multiFile.entry.path`(扫描/监听入口)和 `multiFile.output`(输出位置/文件名)即可跑通。
65
+ :::
66
+
67
+ ## 使用类名
68
+
69
+ ```html
70
+ <view class="m-10 w-100 h-200"></view>
71
+ ```
72
+
73
+ 你会得到类似(取决于单位配置):
74
+
75
+ ```css
76
+ .m-10 { margin: 20rpx; }
77
+ .w-100 { width: 200rpx; }
78
+ .h-200 { height: 400rpx; }
79
+ ```
80
+
81
+ ## 下一步
82
+
83
+ - 先把“语法与规则”弄清楚:阅读 [类名语法与生成规则](./concepts.md)
84
+ - 需要知道有哪些命令:阅读 [CLI](./cli.md)
85
+ - 想性能更稳:了解 [增量模式(只增不删)](./incremental.md)
86
+
@@ -1,162 +1,164 @@
1
- # 增量模式(只增不删)与 appendDelta
2
-
3
- 增量模式是 Class2CSS 的高级功能,主要用于**统一文件模式(`cssOutType: 'uniFile'`)**,解决"历史输出文件累积了旧 class,不希望工具主动删除"的场景。
4
-
5
- :::tip 什么时候值得用
6
- 当你的项目很大、写入频繁,或者输出文件会被外部工具/人工修改时,增量模式能显著降低“全量重写”的 I/O 成本,同时让输出更可控。
7
- :::
8
-
9
- ## 适用场景
10
-
11
- - 输出文件可能被其他工具或手动编辑修改
12
- - 希望保留历史生成的 class,即使当前项目暂时未使用
13
- - 需要更快的增量更新性能(appendDelta 模式)
14
-
15
- ## 配置选项
16
-
17
- ### incrementalOnlyAdd
18
-
19
- 启用"只增不删"模式。
20
-
21
- - **类型**:`boolean`
22
- - **默认值**:`false`
23
- - **说明**:当设置为 `true` 时,运行期新增的 class 会被保护,不会因为后续文件变化而删除。
24
-
25
- ### incrementalBaseline
26
-
27
- 基线来源策略。
28
-
29
- - **类型**:`string`
30
- - **默认值**:`'fromOutputFile'`
31
- - **可选值**:
32
- - `'fromOutputFile'`:从输出文件中解析已存在的 class 作为基线
33
-
34
- ### rebuildOnStart
35
-
36
- 启动时是否重建输出文件。
37
-
38
- - **类型**:`boolean`
39
- - **默认值**:`true`
40
- - **说明**:开启后会全量扫描并覆盖写出一次,输出文件会被"清理到只包含当前项目使用的 class",然后进入运行期只增不删。推荐开启,保证每次启动输出文件都是干净且排序好的。
41
-
42
- ### unusedReportLimit
43
-
44
- 未使用 class 报告的最大显示数量。
45
-
46
- - **类型**:`number`
47
- - **默认值**:`200`
48
- - **说明**:启动重建时,如果发现上一版输出文件中存在但当前项目未使用的 class,会在控制台打印。此配置限制打印的示例数量,避免输出过长。
49
-
50
- ### uniFileWriteMode
51
-
52
- 统一文件写入策略。
53
-
54
- - **类型**:`string`
55
- - **默认值**:`'rewrite'`
56
- - **可选值**:
57
- - `'rewrite'`:统一文件写入保持兼容(防抖全量覆盖写)
58
- - `'appendDelta'`:启动时写入 BASE 段 + `DELTA_START` 标记;运行期仅把新增 class 的 CSS 追加到文件末尾(更快、减少重写)
59
-
60
- **注意**:当 `uniFileWriteMode='appendDelta'` 时,`rebuildOnStart` 必须为 `true`(否则历史垃圾无法自动清理)。
61
-
62
- ## 配置示例
63
-
64
- ```javascript
65
- module.exports = {
66
- multiFile: {
67
- entry: {
68
- // 扫描/监听入口:
69
- // - string:单目录/单文件
70
- // - string[]:多目录/多文件(目录与文件可混用)
71
- path: "./src",
72
- fileType: ["wxml", "html"],
73
- },
74
- output: {
75
- cssOutType: "uniFile",
76
- path: "./dist",
77
- fileName: "styles.wxss",
78
-
79
- // 增量"只增不删"
80
- incrementalOnlyAdd: true,
81
- incrementalBaseline: "fromOutputFile",
82
- rebuildOnStart: true,
83
- unusedReportLimit: 200,
84
-
85
- // 统一文件写入策略
86
- uniFileWriteMode: "appendDelta", // or 'rewrite'
87
- },
88
- },
89
- };
90
- ```
91
-
92
- ## appendDelta 模式
93
-
94
- `appendDelta` 模式提供了更快的增量更新性能,通过追加写入而非全量重写来减少文件 I/O。
95
-
96
- ### 输出文件结构
97
-
98
- `appendDelta` 模式下输出文件会包含标记:
99
-
100
- ```css
101
- /* CLASS2CSS:BASE */
102
- .w-100 { width: 200rpx; }
103
- .m-10 { margin: 20rpx; }
104
- /* ... 其他基础样式 ... */
105
-
106
- /* CLASS2CSS:DELTA_START */
107
- .new-class-1 { /* 新增的样式 */ }
108
- .new-class-2 { /* 新增的样式 */ }
109
- ```
110
-
111
- - `/* CLASS2CSS:BASE */`:启动重建写入的基础段(压缩/排序后的全量结果)
112
- - `/* CLASS2CSS:DELTA_START */`:增量追加段起点(运行期新增 class 会追加到该标记之后)
113
-
114
- ### 工作流程
115
-
116
- 1. **启动时**:
117
- - 读取旧输出文件,提取已存在的 class 作为基线
118
- - 执行全量扫描,清理上一次运行累积的多余规则
119
- - 生成 BASE CSS(全量生成,压缩+排序)
120
- - 写入 BASE + DELTA_START 标记(覆盖写,清空旧 DELTA)
121
- - 报告未使用的 class(如果存在)
122
-
123
- 2. **运行期**:
124
- - 文件变更时,只追加新增 class 的 CSS 到 DELTA_START 之后
125
- - 新增的 class 自动加入 baseline,保证只增不删
126
-
127
- ### 优势
128
-
129
- - **性能提升**:只追加新增内容,避免全量重写
130
- - **减少 I/O**:文件写入次数和大小显著减少
131
- - **保持基线**:BASE 段保持压缩和排序,DELTA 段追加新内容
132
-
133
- ### 注意事项
134
-
135
- - `rebuildOnStart` 必须为 `true`,否则历史垃圾无法自动清理
136
- - DELTA 段会随时间增长,建议定期重建(重启工具即可)
137
- - 如果需要完全清理,可以手动删除输出文件后重启
138
-
139
- ## 标准模式 vs 增量模式
140
-
141
- ### 标准模式(incrementalOnlyAdd: false)
142
-
143
- - 文件变更时,会删除不再使用的 class
144
- - 输出文件始终保持"干净",只包含当前使用的 class
145
- - 适合:希望输出文件始终保持最小化的场景
146
-
147
- ### 增量模式(incrementalOnlyAdd: true)
148
-
149
- - 文件变更时,只新增 class,不删除已存在的 class
150
- - 输出文件可能随时间增长
151
- - 适合:需要保留历史 class 或输出文件可能被外部修改的场景
152
-
153
- ## 最佳实践
154
-
155
- 1. **推荐开启 rebuildOnStart**:保证每次启动输出文件都是干净且排序好的
156
- 2. **定期检查未使用的 class**:关注启动时的 unused 报告
157
- 3. **使用 appendDelta 提升性能**:在大型项目中,appendDelta 模式可以显著提升增量更新速度
158
- 4. **合理设置 unusedReportLimit**:避免控制台输出过长
159
-
160
- ## 下一步
161
-
162
- - 了解统一文件输出与基础配置:阅读 [配置指南](./config.md)
1
+ # 增量模式(只增不删)与 appendDelta
2
+
3
+ 增量模式是 Class2CSS 的高级功能,主要用于**统一文件模式(`cssOutType: 'uniFile'`)**,解决"历史输出文件累积了旧 class,不希望工具主动删除"的场景。
4
+
5
+ :::tip 什么时候值得用
6
+ 当你的项目很大、写入频繁,或者输出文件会被外部工具/人工修改时,增量模式能显著降低“全量重写”的 I/O 成本,同时让输出更可控。
7
+ :::
8
+
9
+ ## 适用场景
10
+
11
+ - 输出文件可能被其他工具或手动编辑修改
12
+ - 希望保留历史生成的 class,即使当前项目暂时未使用
13
+ - 需要更快的增量更新性能(appendDelta 模式)
14
+
15
+ ## 配置选项
16
+
17
+ ### incrementalOnlyAdd
18
+
19
+ 启用"只增不删"模式。
20
+
21
+ - **类型**:`boolean`
22
+ - **默认值**:`false`
23
+ - **说明**:当设置为 `true` 时,运行期新增的 class 会被保护,不会因为后续文件变化而删除。
24
+
25
+ ### incrementalBaseline
26
+
27
+ 基线来源策略。
28
+
29
+ - **类型**:`string`
30
+ - **默认值**:`'fromOutputFile'`
31
+ - **可选值**:
32
+ - `'fromOutputFile'`:从输出文件中解析已存在的 class 作为基线
33
+
34
+ ### rebuildOnStart
35
+
36
+ 启动时是否重建输出文件。
37
+
38
+ - **类型**:`boolean`
39
+ - **默认值**:`true`
40
+ - **说明**:开启后会全量扫描并覆盖写出一次,输出文件会被"清理到只包含当前项目使用的 class",然后进入运行期只增不删。推荐开启,保证每次启动输出文件都是干净且排序好的。
41
+
42
+ ### unusedReportLimit
43
+
44
+ 未使用 class 报告的最大显示数量。
45
+
46
+ - **类型**:`number`
47
+ - **默认值**:`200`
48
+ - **说明**:启动重建时,如果发现上一版输出文件中存在但当前项目未使用的 class,会在控制台打印。此配置限制打印的示例数量,避免输出过长。
49
+
50
+ ### uniFileWriteMode
51
+
52
+ 统一文件写入策略。
53
+
54
+ - **类型**:`string`
55
+ - **默认值**:`'rewrite'`
56
+ - **可选值**:
57
+ - `'rewrite'`:统一文件写入保持兼容(防抖全量覆盖写)
58
+ - `'appendDelta'`:启动时写入 BASE 段 + `DELTA_START` 标记;运行期仅把新增 class 的 CSS 追加到文件末尾(更快、减少重写)
59
+
60
+ **注意**:当 `uniFileWriteMode='appendDelta'` 时,`rebuildOnStart` 必须为 `true`(否则历史垃圾无法自动清理)。
61
+
62
+ ## 配置示例
63
+
64
+ ```javascript
65
+ module.exports = {
66
+ multiFile: {
67
+ entry: {
68
+ // 扫描/监听入口:
69
+ // - string:单目录/单文件
70
+ // - string[]:多目录/多文件(目录与文件可混用)
71
+ path: "./src",
72
+ fileType: ["wxml", "html"],
73
+ },
74
+ output: {
75
+ cssOutType: "uniFile",
76
+ path: "./dist",
77
+ fileName: "styles.wxss",
78
+
79
+ // 增量"只增不删"
80
+ incrementalOnlyAdd: true,
81
+ incrementalBaseline: "fromOutputFile",
82
+ rebuildOnStart: true,
83
+ unusedReportLimit: 200,
84
+
85
+ // 统一文件写入策略
86
+ uniFileWriteMode: "appendDelta", // or 'rewrite'
87
+ },
88
+ },
89
+ };
90
+ ```
91
+
92
+ ## appendDelta 模式
93
+
94
+ `appendDelta` 模式提供了更快的增量更新性能,通过追加写入而非全量重写来减少文件 I/O。
95
+
96
+ ### 输出文件结构
97
+
98
+ 为保证 **响应式(@media)永远不会因为“追加 base 规则”而被覆盖**,`appendDelta` 模式下输出文件会按“分区”组织(base 在前、media 在后),并带有稳定标记:
99
+
100
+ ```css
101
+ /* CLASS2CSS:BASE_START */
102
+ /* base:普通规则(不含 @media) */
103
+ /* CLASS2CSS:BASE_END */
104
+
105
+ /* CLASS2CSS:MEDIA_START */
106
+ /* media:所有 @media(...) 块(始终在文件后半段) */
107
+ /* CLASS2CSS:MEDIA_END */
108
+
109
+ /* CLASS2CSS:DELTA_START */
110
+ ```
111
+
112
+ - `/* CLASS2CSS:BASE_START */` ~ `/* CLASS2CSS:BASE_END */`:普通规则分区(不含 `@media`)
113
+ - `/* CLASS2CSS:MEDIA_START */` ~ `/* CLASS2CSS:MEDIA_END */`:媒体查询分区(只放 `@media`)
114
+ - `/* CLASS2CSS:DELTA_START */`:增量写入起点标记(用于识别该文件是 appendDelta 输出)
115
+
116
+ ### 工作流程
117
+
118
+ 1. **启动时**:
119
+ - 读取旧输出文件,提取已存在的 class 作为基线
120
+ - 执行全量扫描,清理上一次运行累积的多余规则
121
+ - 生成 BASE CSS(全量生成,压缩+排序)
122
+ - **分区写入**:把 BASE CSS 拆分成 `base` 与 `@media` 两段,分别写入 `BASE_*` 与 `MEDIA_*` 分区
123
+ - 报告未使用的 class(如果存在)
124
+
125
+ 2. **运行期**:
126
+ - 文件变更时,仅生成“新增 class”的 CSS\n+ - **分区插入**:新增的普通规则插入到 `BASE_END` 之前;新增的 `@media` 块插入到 `MEDIA_END` 之前(保证 `@media` 永远在后)
127
+ - 新增的 class 自动加入 baseline,保证只增不删
128
+
129
+ ### 优势
130
+
131
+ - **性能提升**:只追加新增内容,避免全量重写
132
+ - **减少 I/O**:文件写入次数和大小显著减少
133
+ - **保持基线**:BASE 段保持压缩和排序,DELTA 段追加新内容
134
+
135
+ ### 注意事项
136
+
137
+ - `rebuildOnStart` 必须为 `true`,否则历史垃圾无法自动清理
138
+ - 建议定期重建(重启工具即可),以便清理旧规则、保证输出始终可控
139
+ - 如果需要完全清理,可以手动删除输出文件后重启
140
+
141
+ ## 标准模式 vs 增量模式
142
+
143
+ ### 标准模式(incrementalOnlyAdd: false)
144
+
145
+ - 文件变更时,会删除不再使用的 class
146
+ - 输出文件始终保持"干净",只包含当前使用的 class
147
+ - 适合:希望输出文件始终保持最小化的场景
148
+
149
+ ### 增量模式(incrementalOnlyAdd: true)
150
+
151
+ - 文件变更时,只新增 class,不删除已存在的 class
152
+ - 输出文件可能随时间增长
153
+ - 适合:需要保留历史 class 或输出文件可能被外部修改的场景
154
+
155
+ ## 最佳实践
156
+
157
+ 1. **推荐开启 rebuildOnStart**:保证每次启动输出文件都是干净且排序好的
158
+ 2. **定期检查未使用的 class**:关注启动时的 unused 报告
159
+ 3. **使用 appendDelta 提升性能**:在大型项目中,appendDelta 模式可以显著提升增量更新速度
160
+ 4. **合理设置 unusedReportLimit**:避免控制台输出过长
161
+
162
+ ## 下一步
163
+
164
+ - 了解统一文件输出与基础配置:阅读 [配置指南](./config.md)
@@ -1,6 +1,6 @@
1
1
  # 规则参考(当前模板已内置)
2
2
 
3
- 本页把仓库默认的 `class2css.config.js` 里**已经实现**的规则,按使用习惯(边距 / 宽高 / 文字 / 颜色 / 布局 / 自定义)整理成一份“像 Tailwind 一样可查”的参考。
3
+ 本页把仓库示例配置(`examples/weapp/`)里**已经实现**的规则,按使用习惯(边距 / 宽高 / 文字 / 颜色 / 布局 / 自定义)整理成一份“像 Tailwind 一样可查”的参考。
4
4
 
5
5
  :::tip 提示
6
6
  动态类的通用格式是:`<prefix>-<value>`。
@@ -209,6 +209,78 @@
209
209
 
210
210
  </details>
211
211
 
212
+ ### 直接颜色值写法(无需配置)
213
+
214
+ 除了使用预设的颜色映射(如 `bg-red`、`color-white`),现在支持直接在 class 中写入颜色值。该功能适用于所有带 `ABBR` 的颜色族(`bg`、`color`、`bcolor` 等)。
215
+
216
+ #### Hex 颜色格式
217
+
218
+ ```html
219
+ <!-- 3位 hex -->
220
+ <div class="bg-hex-fff">白色背景</div>
221
+ <div class="color-hex-000">黑色文字</div>
222
+
223
+ <!-- 4位 hex(含 alpha) -->
224
+ <div class="bg-hex-ffff">不透明白色背景</div>
225
+
226
+ <!-- 6位 hex -->
227
+ <div class="bg-hex-112233">深色背景</div>
228
+ <div class="color-hex-ff0000">红色文字</div>
229
+
230
+ <!-- 8位 hex(含 alpha) -->
231
+ <div class="bg-hex-ffffffff">完全不透明白色背景</div>
232
+ ```
233
+
234
+ #### RGB 颜色格式
235
+
236
+ ```html
237
+ <div class="bg-rgb-255-0-0">红色背景</div>
238
+ <div class="color-rgb-0-128-255">蓝色文字</div>
239
+ ```
240
+
241
+ #### RGBA 颜色格式
242
+
243
+ ```html
244
+ <!-- alpha 值支持多种写法:
245
+ - 两位数字 < 10:除以 10(如 05 → 0.5, 08 → 0.8)
246
+ - 两位数字 >= 10:除以 100 作为百分比(如 50 → 0.5, 99 → 0.99)
247
+ - 下划线分隔:直接替换为点(如 0_5 → 0.5)
248
+ - 其他格式:直接解析(如 1 → 1.0, 0.5 → 0.5)
249
+ -->
250
+ <div class="bg-rgba-0-0-0-05">半透明黑色背景(05 → 0.5)</div>
251
+ <div class="bg-rgba-255-0-0-0_5">半透明红色背景(0_5 → 0.5)</div>
252
+ <div class="bg-rgba-0-0-0-50">50% 不透明度黑色背景(50 → 0.5)</div>
253
+ <div class="color-rgba-0-0-0-08">80% 不透明度黑色文字(08 → 0.8)</div>
254
+ <div class="bg-rgba-255-0-0-99">99% 不透明度红色背景(99 → 0.99)</div>
255
+ ```
256
+
257
+ #### 与响应式和 Important 组合使用
258
+
259
+ ```html
260
+ <!-- 响应式变体 -->
261
+ <div class="sm:bg-hex-fff md:bg-rgb-255-0-0">响应式背景色</div>
262
+
263
+ <!-- Important 标识 -->
264
+ <div class="bg-hex-fff_i">强制白色背景</div>
265
+ <div class="!color-rgb-0-0-0">强制黑色文字</div>
266
+
267
+ <!-- 组合使用 -->
268
+ <div class="sm:bg-rgba-255-0-0-05_i">响应式 + Important</div>
269
+ ```
270
+
271
+ :::tip 优先级说明
272
+ - **映射优先**:如果配置中存在对应的颜色映射(如 `bg-red`),优先使用映射值
273
+ - **直接值后备**:只有当映射不存在时,才会尝试解析为直接颜色值
274
+ - **解析失败**:如果既不是映射值,也无法解析为有效颜色值,则不会生成 CSS 规则
275
+ :::
276
+
277
+ :::warning 兼容性
278
+ - ✅ 完全兼容 Web(HTML/CSS)
279
+ - ✅ 完全兼容小程序(WXML/WXSS)
280
+ - ✅ 只使用字母、数字、下划线、短横线,无需转义
281
+ - ✅ 与现有颜色映射方案完全兼容,不会产生冲突
282
+ :::
283
+
212
284
  ---
213
285
 
214
286
  ## 布局 / 显示(静态类)