# styimat **Repository Path**: wxy6987/styimat ## Basic Information - **Project Name**: styimat - **Description**: 一个高效的CSS变量预处理库,支持Lab/LCH颜色空间自动转换、嵌套选择器和Display P3广色域,让现代CSS开发更简洁强大。 - **Primary Language**: JavaScript - **License**: MIT - **Default Branch**: main - **Homepage**: https://gitee.com/wxy6987/styimat#readme - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2025-12-17 - **Last Updated**: 2026-01-11 ## Categories & Tags **Categories**: Uncategorized **Tags**: CSS, styimat, color, css-in-js, color-conversion ## README # Styimat [![Stars](https://img.shields.io/badge/dynamic/json?label=Stars&query=%24.stargazers_count&url=https%3A%2F%2Fgitee.com%2Fapi%2Fv5%2Frepos%2Fwxy6987%2Fstyimat&color=FFD700&style=yellow)](https://gitee.com/wxy6987/styimat/stargazers) [![Forks](https://img.shields.io/badge/dynamic/json?label=Forks&query=%24.forks_count&url=https%3A%2F%2Fgitee.com%2Fapi%2Fv5%2Frepos%2Fwxy6987%2Fstyimat&color=red)](https://gitee.com/wxy6987/styimat/members) [![version](https://img.shields.io/npm/v/styimat.svg?color=brightgreen)](https://www.npmjs.com/package/styimat) [![license](https://img.shields.io/npm/l/styimat.svg?color=lightgrey)](LICENSE) [![npm 下载量](https://img.shields.io/npm/dt/styimat?label=download&color=blue)](https://www.npmjs.com/package/styimat) 让CSS变量拥有预处理能力:嵌套语法、Lab/LCH色彩空间、Display P3广色域、智能数学计算,一份代码适配所有现代浏览器。 ## 项目结构 ``` ├── bin │ └── convert-styimat.js ├── dist │ ├── styimat.js │ ├── styimat.min.js │ ├── styimat.min.mjs │ └── styimat.mjs ├── esm // ESModule文件的快捷导入方式 ├── umd // UMD文件的快捷导入方式 ├── cli // 命令行文件的快捷导入方式 └── package.json ``` ## 安装方式 ### 1. Git 克隆(推荐) ```bash # 克隆主仓库 git clone https://gitee.com/wxy6987/styimat.git # 进入项目目录 cd styimat # 安装依赖 npm install ``` ### 2. 直接下载 ZIP [![下载ZIP压缩包](https://img.shields.io/badge/下载ZIP压缩包-007BFF?style=for-the-badge&logo=data:image/svg%2bxml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDQ4IDQ4IiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Ik02IDQyLjAwODNINDIiIHN0cm9rZT0iI2ZmZiIgc3Ryb2tlLXdpZHRoPSI0IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz48cGF0aCBkPSJNMzMgMjNMMjQgMzJMMTUgMjMiIHN0cm9rZT0iI2ZmZiIgc3Ryb2tlLXdpZHRoPSI0IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz48cGF0aCBkPSJNMjMuOTkxNyA2VjMyIiBzdHJva2U9IiNmZmYiIHN0cm9rZS13aWR0aD0iNCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8%2bPC9zdmc%2b&logoColor=white)](https://gitee.com/wxy6987/styimat/repository/archive/main.zip) ### 3. NPM 安装 ```bash npm install styimat ``` ### 4. CDN 引入 ```html ``` ### 5. ESModule使用 ```javascript import styimat from 'https://unpkg.com/styimat/esm' const css = ` $primary: lab(54.7 77.9 80.1); .button { background-color: $primary; } `; const result = await styimat.convert(css); console.log(result); ``` **也可以按需导入** ```javascript import { convert, apply } from 'https://unpkg.com/styimat/esm' const css = ` $primary: lab(54.7 77.9 80.1); .button { background-color: $primary; } `; const result = convert(css); console.log(result); apply(); ``` ## 特性 - **Lab/LCH 颜色支持** - 将 Lab 和 LCH 颜色转换为 CSS 兼容的 RGB - **广色域显示** - 自动检测并支持 Display P3 广色域显示器 - **变量系统** - 类似 Sass 的变量系统,支持作用域变量 - **嵌套规则** - 支持 Sass 风格的嵌套选择器 - **十六进制语法** - 支持 `lab#LLAABB` 和 `lch#LLCCHHH` 简洁语法 - **增强数学计算** - 支持 `math()` 函数和复杂数学表达式 - **轻量高效** - 无依赖,压缩后仅约 20KB - **多种使用方式** - 浏览器、Node.js、命令行均可使用 - **灵活API** - 支持函数调用、模板标签、对象配置等多种用法 - **现代ESModule导入** - 支持`import`按需导入 --- ## 使用方法 ### JavaScript调用 #### 1. 作为函数调用 ```javascript // 方式1:直接传入CSS字符串 const css = await styimat(` $primary: lab(54.7 77.9 80.1); .button { color: $primary; } `); // 方式2:传入配置对象(返回函数本身) styimat({ enableP3: true, enableMath: true }); // 方式3:无参数调用(自动处理页面中所有标记的