Vue3集成Tailwind CSS
Tailwind CSS
Tailwind CSS是由JS编写的CSS框架,基于PostCSS解析。
- 通过一套约束系统保证一致性,避免随意的取值。
- 因为抽象层级较低,所以可定制性强。
- 在生产环境中会进行Tree Shake,自动删除未使用的CSS。
- 简化响应式设计。
- 简化互动设计,例如鼠标悬停或焦点状态。
- 支持在自定义类中组合Tailwind工具类使用。
- 支持夜间模式。
- 支持自定义工具类。
- 跟进前沿CSS技术。
PostCSS
PostCSS是一个用JS转换CSS代码的工具。
- 增强代码的可读性,利用Can I use网站的数据自动添加厂商前缀。
- 将最新前沿CSS语法转换为兼容性好的语法。
- 终结全局CSS
- 使用Stylelint检查代码,避免错误。
PostCSS解析Tailwind CSS
- 将CSS解析成抽象语法树(AST)
- 读取插件配置,根据配置文件生成新的AST
- 将AST传递给一系列数据转化操作处理(变量数据循环生成、嵌套类名循环等)
- 清除一系列操作留下的数据痕迹
- 将处理完毕的AST重新转换成字符串
Vue3集成Tailwind CSS
初始化项目
1
npm init vue@latest
安装 Tailwind 以及其它依赖项
1
npm install -D tailwindcss@latest postcss@latest autoprefixer@latest
生成配置文件(Tailwind CSS配置)
1
npx tailwindcss init -p
修改配置文件 tailwind.config.js
1
2
3
4
5
6
7
8/** @type {import('tailwindcss').Config} */
module.exports = {
content: ["./index.html","./src/**/*.{vue,js,ts,jsx,tsx}"],
theme: {
extend: {},
},
plugins: [],
}创建index.css
1
2
3@tailwind base;
@tailwind components;
@tailwind utilities;在main.ts中引入index.css
测试
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15<template>
<div class="max-w-md mx-auto bg-white rounded-xl shadow-md overflow-hidden md:max-w-2xl">
<div class="md:flex">
<div class="md:flex-shrink-0">
<img class="h-48 w-full object-cover md:w-48" src="https://image.cheriko.fun/music/202304301615221.jpg" alt="Man looking at item at a store">
</div>
<div class="p-8">
<div class="uppercase tracking-wide text-sm text-indigo-500 font-semibold">Lorem ipsum</div>
<a href="#" class="block mt-1 text-lg leading-tight font-medium text-black hover:underline">dolor sit, amet consectetur adipisicing elit.</a>
<p class="mt-2 text-gray-500">Iusto, quae! Pariatur mollitia nulla ipsa. Velit, totam!</p>
</div>
</div>
</div>
</template>
VS Code可以安装Tailwind CSS IntelliSense扩展获取代码提示。
评论