Windi CSS 配置
2023-02-16 17:58 更新
配置 Windi CSS
Windi CSS 中的配置与您在 Tailwind CSS 中的预期类似,但具有更多增强功能和功能。
如果您要从 Tailwind 迁移,请先查看迁移指南。
配置文件
默认情况下,Windi CSS 将在您项目的根目录下搜索配置文件。有效的文件名是:
-
windi.config.ts
-
windi.config.js
-
tailwind.config.ts
-
tailwind.config.js
本机 ES 模块和 TypeScript 开箱即用,由 Sucrase 提供支持。
要对您的配置进行类型检查,您可以从 windicss/helpers
导入 defineConfig
函数:
windi.config.ts
import { defineConfig } from 'windicss/helpers'
export default defineConfig({
/* configurations... */
})
windi.config.js
// @ts-check - enable TS check for js file
import { defineConfig } from 'windicss/helpers'
export default defineConfig({
/* configurations... */
})
defineConfig 是一个带有类型提示的绕过函数,这意味着如果您不需要自动完成/类型检查,您也可以省略它。
windi.config.js
export default {
/* configurations... */
}
您可以使用编辑器中的自动完成功能来查看可能的配置字段。功能的定制将在相应的页面中描述。
示例配置
windi.config.js
import { defineConfig } from 'windicss/helpers'
import colors from 'windicss/colors'
import plugin from 'windicss/plugin'
export default defineConfig({
darkMode: 'class', // or 'media'
theme: {
extend: {
screens: {
'sm': '640px',
'md': '768px',
'lg': '1024px',
'xl': '1280px',
'2xl': '1536px',
},
colors: {
blue: colors.sky,
red: colors.rose,
pink: colors.fuchsia,
},
fontFamily: {
sans: ['Graphik', 'sans-serif'],
serif: ['Merriweather', 'serif'],
},
spacing: {
128: '32rem',
144: '36rem',
},
borderRadius: {
'4xl': '2rem',
},
},
},
plugins: [
plugin(({ addUtilities }) => {
const newUtilities = {
'.skew-10deg': {
transform: 'skewY(-10deg)',
},
'.skew-15deg': {
transform: 'skewY(-15deg)',
},
}
addUtilities(newUtilities)
}),
plugin(({ addComponents }) => {
const buttons = {
'.btn': {
padding: '.5rem 1rem',
borderRadius: '.25rem',
fontWeight: '600',
},
'.btn-blue': {
'backgroundColor': '#3490dc',
'color': '#fff',
'&:hover': {
backgroundColor: '#2779bd',
},
},
'.btn-red': {
'backgroundColor': '#e3342f',
'color': '#fff',
'&:hover': {
backgroundColor: '#cc1f1a',
},
},
}
addComponents(buttons)
}),
plugin(({ addDynamic, variants }) => {
addDynamic('skew', ({ Utility, Style }) => {
return Utility.handler
.handleStatic(Style('skew'))
.handleNumber(0, 360, 'int', number => `skewY(-${number}deg)`)
.createProperty('transform')
}, variants('skew'))
}),
require('windicss/plugin/filters'),
require('windicss/plugin/forms'),
require('windicss/plugin/aspect-ratio'),
require('windicss/plugin/line-clamp'),
require('windicss/plugin/typography')({
modifiers: ['DEFAULT', 'sm', 'lg', 'red'],
}),
],
})
以上内容是否对您有帮助:
更多建议: