Tailwind CSS
Tailwind是由Adam Wathan领导的TailwindLabs开发的 CSS 框架。
实用类
Tailwind 附带了大量实用类。将它们组合起来并调整样式是使用 Tailwind 进行样式设置的一大特点。实用类以相当小的单元准备,因此大多数样式都可以通过仅组合实用类来实现。
Tailwind 实用类 | 用 CSS 写 |
---|---|
text-red-50 | color: rgb(254 226 226) |
text-red-100 | color: rgb(254 202 202) |
text-red-200 | color: rgb(252 165 165) |
text-red-300 | color: rgb(254 226 226) |
text-red-400 | color: rgb(248 113 113) |
text-red-500 | color: rgb(239 68 68) |
text-red-600 | color: rgb(220 38 38) |
text-red-700 | color: rgb(185 28 28) |
text-red-800 | color: rgb(153 27 27) |
text-red-900 | color: rgb(127 29 29) |
有这么多的类,你可能会认为很难记住这些类,但正如你在上面看到的,text-red-50
Tailwind 的实用类名称是这样命名的,这样你就可以很容易地想象要应用的样式。
修饰符
Tailwind提供多种变体,包括active
, hover
将这些添加到实用程序类可以实现更高级的样式。
例如,如果您希望鼠标悬停时颜色稍深,单击时颜色更深,请按如下方式指定类:hover:
,给定的类将在悬停时应用。active:
将在元素处于活动状态时应用给定的类。
bg-blue-700 hover:bg-blue-800 active:bg-blue-900
可以查看文档:Handling Hover, Focus, and Other States – Tailwind CSS 看更多的修饰符。
tailwind.config.js
可以通过在 Tailwind 的配置文件tailwind.config.js
中指定选项来自定义整体配置。
安装Tailwind后执行以下命令,会在根目录下自动创建一个配置文件。
npx tailwindcss init -p
以下是配置的部分选项
/** @type {import('tailwindcss').Config} */
module.exports = {
content: [],
theme: {
extend: {},
},
plugins: [],
}
构建优化
Tailwind 有大量的实用类,并使用必要的类来进行样式设置,但担心如果加载所有实用类,构建大小会增加。可以通过配置content
选项来解决。
在下面的示例中,根目录中的 index.html
和扩展名为 vue、js、ts、jsx 和 tsx 的文件是构建优化的目标。
module.exports = {
// ...
content: [
'./index.html',
'./src/**/*.{vue,js,ts,jsx,tsx}'
],
}
主题定制
也可以在tailwind.config.js
中配置置顶的颜色和字体。
自定义颜色
module.exports = {
// ...
// 添加主题色
theme: {
extend: {
colors: {
whopper: '#8a1216'
},
},
},
}
添加后,在页面上使用
<div class="flex h-screen items-center justify-center bg-gray-200">
<p class="font-bold text-whopper">
Hello Tailwind
</p>
</div>
黑暗模式
添加dark:
,轻松实现暗模式。
<div class="flex h-screen items-center justify-center bg-gray-200 dark:bg-gray-700">
<p class="font-bold text-blue-900 dark:text-blue-100">
Hello Tailwind
</p>
</div>
tailwind.config.js
可以通过在选项darkMode
中指定media或来class设置暗模式切换。
module.exports = {
// ...
darkMode: // 'media' or 'class'
}
设置为media,则跟随操作系统的设置。
指定为class,给父元素加上dark
的类,dark:
才会有效果,如下列子:
// 暗黑模式不生效
<div>
<div class="flex h-screen items-center justify-center bg-gray-200 dark:bg-gray-700">
<p class="font-bold text-blue-900 dark:text-blue-100">
Hello Tailwind
</p>
</div>
</div>
// 暗黑模式生效
<div class="dark">
<div class="flex h-screen items-center justify-center bg-gray-200 dark:bg-gray-700">
<p class="font-bold text-blue-900 dark:text-blue-100">
Hello Tailwind
</p>
</div>
</div>
还有更多的配置,可以去文档看。
Vue3配置Tailwind
1、安装
安装 Tailwind 及其依赖项 postcss 和 autoprefixer。
npm install -D tailwindcss@latest postcss@latest autoprefixer@latest
2、创建配置文件
npx tailwindcss init -p
会在项目根目录下生成postcss.config.js
和tailwind.config.js
文件。
tailwind.config.js
module.exports = {
content: [
'./index.html',
'./src/**/*.{vue,js,ts,jsx,tsx}'
],
darkMode: 'media',
theme: {
extend: {},
},
variants: {
extend: {},
},
plugins: [],
};
postcss.config.js
module.exports = {
plugins: {
tailwindcss: {},
autoprefixer: {},
},
}
使用
我们可以在src/
目录下面的index.css
文件中引入类
//index.css
@tailwind base;
@tailwind components;
@tailwind utilities;
然后再main.js
文件中引入
import { createApp } from 'vue';
import App from './App.vue';
import './index.css';
createApp(App).mount('#app');
测试
<template>
<div
class="flex h-screen items-center justify-center bg-white dark:bg-gray-800"
>
<button
class="py-4 px-6 w-96 font-bold font-mono rounded-md transition-all text-white bg-blue-700 hover:bg-blue-800 active:bg-blue-900 dark:text-black dark:bg-blue-400 dark:hover:bg-blue-500 dark:active:bg-blue-600"
>
Hello Tailwind
</button>
</div>
</template>
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/144765.html