Tailwind CSS 配置
Tailwind CSS 的强大之处在于其极高的可定制性。几乎所有东西——从调色板到间距单位,再到断点——都可以通过修改 tailwind.config.js 文件来定制。
这是一个典型的 tailwind.config.js 文件结构:
js
/** @type {import('tailwindcss').Config} */
export default {
content: [
'./src/**/*.{html,js,vue}',
],
theme: {
extend: {},
},
plugins: [],
}content
content 数组告诉 Tailwind 的 JIT 引擎去哪里扫描你的代码,以查找正在使用的类。正确配置这个数组是确保所有需要的 CSS 都被生成的关键。
theme
theme 对象是你定义项目设计系统的地方。这里包含了你的调色板、字体、间距、断点等所有视觉相关的配置。
覆盖默认主题 vs. 扩展默认主题
默认情况下,你放在 theme 对象下的任何配置都会覆盖 Tailwind 的默认配置。
js
// tailwind.config.js
module.exports = {
theme: {
colors: {
// 这将完全替换掉 Tailwind 的默认调色板
'blue': '#1fb6ff',
'purple': '#7e5bef',
},
// ...
}
}如果你只想添加新的值,或者修改一个已有的值,但保留其他的默认值,你应该将你的配置放在 theme.extend 对象下。
js
// tailwind.config.js
module.exports = {
theme: {
extend: {
colors: {
// 这会添加一个新的 'tahiti' 颜色,并保留所有默认颜色
'tahiti': '#3ab7bf',
},
spacing: {
// 这会添加一个新的间距单位 '128',并保留所有默认间距
'128': '32rem',
}
}
}
}最佳实践:始终将你的自定义配置放在 extend 内部,除非你确实希望完全替换掉某个主题选项。
引用其他主题值
如果你想引用 theme 中的其他值,可以提供一个闭包函数。这个函数会接收到一个 theme() 工具函数,你可以用它来访问其他配置值。
js
// tailwind.config.js
module.exports = {
theme: {
extend: {
colors: {
'cyan': theme => theme('colors.blue.500'),
},
height: theme => ({
'screen/2': '50vh',
...theme('spacing') // 引用整个 spacing 对象
})
}
}
}plugins
plugins 数组允许你注册一些可以扩展 Tailwind 功能的 JavaScript 插件。例如,官方提供的 @tailwindcss/typography 插件可以为原生 HTML 标签(如 <h1>, <p>)添加漂亮的排版默认样式。
js
// tailwind.config.js
module.exports = {
// ...
plugins: [
require('@tailwindcss/forms'),
require('@tailwindcss/typography'),
],
}通过深入理解和利用 tailwind.config.js,你可以将 Tailwind CSS 打造成一个完全符合你项目品牌和设计规范的、专属的 CSS 框架。