我的项目目前是Vuejs,它使用BootstrapVue组件(似乎使用bootstrap 4 css)。
我正在尝试将 Tailwind css 用于新的自定义组件。
两者可以同时使用吗?
谢谢你。
您可以使用前缀解决类冲突
// tailwind.config.js
module.exports = {
prefix: 'tw-',
}
但是,很可能你会遇到
normalize.css
的问题,它在 @tailwind base
中使用
选项 1:采用或重新创建课程
如果您只需要一两个类,例如来自Tailwind的颜色系统,您也可以复制它们。 有些字符必须被屏蔽,例如:
//样式.css
.hover\:text-blue-900:hover,
.text-blue-900 {
color: #183f6d;
}
这就是我在项目开始时所做的,其中引导程序是主要的框架。 如果它应该有多种颜色和功能,您也可以使用 SCSS 快速构建它。 但从长远来看,我认为这不是最好、最干净的解决方案。
示例:
// style.scss
(...)
@each $name, $hexcode in $tailwind-colors {
.hover\:text-#{$name}:hover,
.text-#{$name} {
color: $hexcode
}
}
}
选项 2:集成 Tailwind
但是一旦需要添加更多功能,或者您想将其构建得更干净,您可以在此处使用 documentation 提到的前缀,如 Ostap Brehin 所说。
// tailwind.config.js
module.exports = {
prefix: 'tw-',
}
可以通过禁用预检来删除标准化定义:
// tailwind.config.js
module.exports = {
corePlugins: {
preflight: false,
}
}
更好地检查生成的 CSS 文件。
这是我完整的tailwind.config.js 文件:
// tailwind.config.js
module.exports = {
content: [
'./**/*.php',
'../Resources/**/*.{html,js}',
],
safelist: [
'tw-bg-blue-800/75',
{
pattern: /(bg|text)-(blue)-(800)/,
variants: ['hover'],
},
],
prefix: 'tw-',
theme: {
extend: {},
},
corePlugins: {
preflight: false,
},
plugins: [],
}
但是,您需要对您的顺风车进行一些配置。首先是添加前缀,然后关闭预检。如果您不使用 Tailwind JIT,那么也请确保重要的内容为真。如果您使用的是 Tailwind JIT,那么您可以使用“!”在上课之前,让这件事变得重要。例如“!tw-block”。
这是适合 Tailwind JIT/CDN 的配置:
<script>
tailwind.config = {
prefix: "tw-",
corePlugins: {
preflight: false,
}
}
</script>
如果您不使用 CDN,请使用此配置:
module.exports = {
content: ["./**/*.html"],
prefix: "tw-",
important: true,
corePlugins: {
preflight: false,
}
}
我已经写了一个完整的博客:
但我认为你不应该这样做。因为它会破坏项目的统一性,并且会增加维护的难度。