06 %E9%85%8D%E7%BD%AE%E9%A1%B9%E7%9B%AE%E4%B8%AD unocss - udo-bit/vue-docs GitHub Wiki
目标
- 安装配置unocss
什么是unocss
unocss是一个原子CSS引擎,而不是一个框架。一切的设计都考虑到了灵活性和性能。unocss中没有核心实用程序,所有功能都是通过预设提供的。
关于预设
预设作为Unocss的核心。利用预设我们可以创建我们自己的自定义框架。 默认情况下,Unocss应用默认预设,它提供了流行使用程序优先框架Tailwind CSS、Windi CSS、Bootstrap等的通用的超集。 也就是说如果你之前对以上的框架比较熟悉,那么你在unocss中可以照常使用他们的语法即可。
特性
- 完全可定制
- 没有解析,没有AST,没有扫描,即时编辑。
- 包体积小
- 动态别名
- 属性模式
- 纯CSS图标
- CSS Directives
- 编译模式
- Inspector
- CSS in JS runtime Build
- CSS 的代码分割
文档地址
unocss提供了一个在线搜索可转换的地址,但是没有学习语法的文档,如果想要学习的话,可以使用Tailwind的文档,因为大部分他们的用法都是一致的。不过大家可以跟着我一起,通过这个项目我会带着大家一起去使用我们的unocss,帮助大家快速上手。
安装
这里我们需要安装unocss和重置默认样式的工具@unocss/reset�
pnpm add unocss @unocss/reset -D
使用
在vite.config.ts中导入插件
import Unocss from 'unocss/vite'
{
plugins:[Unocss()]
}
我们将unocss的配置项单独抽离出来在根目录创建一个unocss.config.ts文件,导入一些常用默认的预设
unocss.config.ts
import {
defineConfig,
presetAttributify,
presetIcons,
presetTypography,
presetUno,
presetWebFonts,
transformerDirectives,
transformerVariantGroup,
} from 'unocss'
export default defineConfig({
shortcuts: [],
presets: [
presetUno(), // 默认wind预设
presetAttributify(), // class拆分属性预设
presetTypography(), // 排版预设
presetIcons({ // 图标库预设
scale: 1.2,
warn: true,
}),
presetWebFonts({ // 网络字体预设
fonts: {
sans: 'DM Sans',
serif: 'DM Serif Display',
mono: 'DM Mono',
},
}),
],
transformers: [
transformerVariantGroup(), // windi CSS的变体组功能
transformerDirectives(), // @apply @screen theme()转换器
],
})
在main.ts中导入
import "@unocss/reset/tailwind.css"
import "uno.css";
需要注意的是。默认情况下,tailwind的重置规则会覆盖naive-ui的规则,所以我们需要让naive-ui的优先级最高,那么我们需要再main.ts中添加如下代码
/**
* 解决tailwind的样式冲突
*/
const meta = document.createElement('meta')
meta.name = 'naive-ui-style'
document.head.appendChild(meta)
我们在项目中进行测试。