假设您有一个基本的项目设置:
@tailwind base;
@tailwind components;
@tailwind utilities;
Run Code Online (Sandbox Code Playgroud)
并且您想要添加一个使用 CSS 的基本实用程序,该实用程序不属于 tailwinds 默认库的一部分:
@layer utilities {
.will-change-transform {
will-change: transform;
}
}
Run Code Online (Sandbox Code Playgroud)
或者
@layer utilities {
.ease {
transition: ease;
}
}
Run Code Online (Sandbox Code Playgroud)
并且您希望能够将@apply其传递给自定义类而不会收到错误:
.my-component {
@apply block hover:scale-110 w-full ease will-change-transform
}
Run Code Online (Sandbox Code Playgroud)
你会怎么做?
小智 5
如果没有看到您的环境或您收到的错误,我无法确定,但规避这些问题的记录方法是在 tailwind 配置文件中定义您的类:
// tailwind.config.cjs
const plugin = require('tailwindcss/plugin')
module.exports = {
// ...
plugins: [
plugin(function ({ addComponents, theme }) {
addComponents({
'.will-change-trans': { // `will-change-transform` is now included in Tailwind CSS 3.0 so using alternative class name for this example
willChange: 'transform'
},
'.ease': {
transition: 'ease'
},
})
})
]
}
Run Code Online (Sandbox Code Playgroud)
然后你可以在任何地方@apply这些类,就像它们是内置的一样。
(我意识到这个问题可能不再与您相关,但我在搜索时发现了它,所以这适用于其他偶然发现这个问题的人!)