index
配置¶
使用PostCSS¶
npm install -D tailwindcss postcss autoprefixernpx tailwindcss init -p:创建tailwind.config.js、postcss.config.js(-p)
TailwindCLI¶
npm install -D tailwindcssnpx tailwindcss -i ./src/input.css -o ./src/output.css --watch
CDN¶
v4 vite¶
npm install tailwindcss @tailwindcss/vite
应用编译css¶
- 导入input.css(使用Tailwindcss CLI时用output.css)
- 直接在根组件中导入该文件
- 或者在index.html
<link href="/src/input.css" rel="stylesheet">
入门¶
- 生成类
text-2xl,任意值text-[20rem]
分层设计¶
- 分层设计:base、components、utilities
- 特点
- css按tailwind分层顺序进行编译输出,可覆盖(utilities(原子化css,corePlugin)可覆盖components(class),按上面顺序进行覆盖,)
- 只有有应用过的才会输出在编译的css中
- 只有tailwindcss分层中的类才能用modifier,普通css无法用
- 也允许使用多css文件,不过不推荐
- 如Vue这样的组件内的style无法使用tailwindcss分层
- 特点
- 第三方则使用Plugin来给分层添加代码:可以不用
@layer,而是直接在tailwindcss.config.js中写自己的plugin - @xxx是指令,theme()、screen()是函数
/* 使用tailwind指令来开启指定层(顺序无所谓),会收集所有包括tailwind、插件、自己的 */ /* 设置html元素 */ @tailwind base; /* 添加自定义类(就是原本的css类),一般都不会这个 */ @tailwind components; /* 添加完全自定义的原子类,与components区别只是在components后,可以进行覆盖 */ @tailwind utilities; /* 以上可以直接(不过有点不太稳定) @import "tailwindcss/tailwind.css"; 或者 @import "../node_modules/tailwindcss/tailwind.css"; 但是由于tailwindcss3没有index.css,因此无法@import "tailwindcss"; */ /* 自定义modifier,仅在插件或者theme中 */ @tailwind variants; /* 在base层添加代码 */ @layer base{ ... h1{ /* 使用@apply引用tailwind */ @apply text-2xl; /* 引用自定义的theme */ font-size: theme(fontSize.2x); } /* 媒体查询 */ @media screen(sm) { /* ... */ } } @layer components{ .xx{} } @layer utilities{ .xx{} } /* @import必须在@config前 */ @import "tailwindcss/utilities"; /* 指定其他配置文件 */ @config "./tailwind.admin.config.js";
modifier¶
- https://v3.tailwindcss.com/docs/hover-focus-and-other-states
- 自定义modifier -- variants
tailwind.config.js¶
- content:扫描文件路径的glob
- 值一般是
["./index.html", "./src/**/*.{js,ts,jsx,tsx}"]
- 值一般是
- prefix:为tailwindcss添加前缀
- separator:设置分隔符,默认
:- 如
focus:outline-none
- 如
- important:如果为true则表示所有tailwindcss都会加上
important! - presets:完全自定义tailwind.config.js
- 项目的tailwind.config.js会与tailwindcss/stubs/config.full.js at v3.4.17进行合并
- corePlugins:完全禁用某些corePlugin
- 里面还列出了所有corePlugin
- theme:自定义 screens、colors、spacing、corePlugins
- 可以覆盖默认、扩展默认、引用自定义theme中的其他值或者默认、禁用corePlguin
- 如
w-2x(自定义spacing.2x=xxx)
- plugins:应用插件,使用插件提供的base、component等