【Vue工程】010-UnoCSS 即时按需原子 CSS 引擎
文章目录
- 【Vue工程】010-UnoCSS 即时按需原子 CSS 引擎
- 一、概述
- 1、简介
- 2、官网
- 二、基本使用
- 1、安装
- 2、修改 `vite.config.ts`
- 3、根目录创建 `uno.config.ts`
- 4、在 `main.ts` 中引入
- 5、VS Code 安装 UnoCSS 插件
- 6、在组件中使用
- 7、访问 `http://localhost:5173/home`
- 三、预设
一、概述
1、简介
UnoCSS 是一个轻量级、可扩展和零配置的 CSS 框架,旨在提供简洁、灵活且高效的样式开发体验。它遵循类似于 Tailwind CSS 的原则,通过使用类名来应用样式,从而提供快速而直观的样式编写方式。
UnoCSS 的设计目标是提供最小化的样式,同时保持灵活性和可定制性。它提供了一组基础样式规则和常用的样式变体,如边框、背景、文字、布局等,可以轻松地在项目中使用。
与其他 CSS 框架不同的是,UnoCSS 不包含任何默认主题或设计样式,这使得它非常适合定制化和与现有设计系统的集成。你可以根据项目的需求自由地定义样式和配色方案,以实现完全定制化的外观和风格。
除了基本样式规则外,UnoCSS 还提供了一些可选的预设(presets),如 Uno、Mini、Wind、Attributify、Tagify、Icons、Web Fonts、Typography 和 Rem-to-px。这些预设提供了一些常见的样式和功能,可以根据需要进行选择和集成。
UnoCSS 通过提供零配置的使用方式,使得它非常易于上手和集成到现有项目中。它还支持响应式设计,可以轻松地创建适应不同屏幕尺寸和设备的样式。
总而言之,UnoCSS 是一个简洁、灵活且可定制的 CSS 框架,它以零配置的方式提供了快速而直观的样式开发体验。它的设计使得开发者可以轻松地定制样式,使其适应各种项目需求,并与现有的设计系统无缝集成。
2、官网
官网
https://unocss.dev/
文档
https://unocss.dev/integrations/vite
交互搜索
https://unocss.dev/interactive/
二、基本使用
1、安装
pnpm add -D unocss
2、修改 vite.config.ts
// vite.config.ts
import UnoCSS from 'unocss/vite'
import { defineConfig } from 'vite'export default defineConfig({plugins: [UnoCSS(),],
})
3、根目录创建 uno.config.ts
import { defineConfig, presetAttributify, presetUno } from 'unocss';export default defineConfig({/** 排除 */exclude: ['node_modules'],/** 预设 */presets: [/** 属性化模式 & 无值的属性模式 */presetAttributify(),/** 默认预设 */presetUno(),],/** 自定义规则 */rules: [['zb-text', { color: 'blue' }],['zb-fs', { 'font-size': '28px' }],['zb-fb', { 'font-weight': 'bolder' }],],/** 自定义快捷方式 */shortcuts: {'zb-t': 'zb-text zb-fs zb-fb',},
});
4、在 main.ts
中引入
import 'virtual:uno.css'
5、VS Code 安装 UnoCSS 插件
6、在组件中使用
<template><div class="zb-text zb-fs zb-fb">UnoCSS</div><div class="zb-t">快捷方式</div>
</template><script lang="ts" setup></script><style lang="scss" scoped></style>
7、访问 http://localhost:5173/home
三、预设
https://unocss.dev/presets/
Package | Description |
---|---|
@unocss/preset-uno | 默认预设 |
@unocss/preset-mini | 精简但必要的规则和变体 |
@unocss/preset-wind | Tailwind / Windi CSS 紧凑预设 |
@unocss/preset-attributify | 启用属性化模式以适用其他规则 |
@unocss/preset-tagify | 启用标签化模式以适用其他规则 |
@unocss/preset-icons | 由 Iconify 提供支持的纯 CSS 图标解决方案 |
@unocss/preset-web-fonts | 网页字体支持(Google Fonts 等) |
@unocss/preset-typography | 排版预设 |
@unocss/preset-rem-to-px | 将 rem 转换为 px 以供实用工具使用 |