Tailwind CSS 边框(border)和分割线(divider)失效通常由以下几个常见原因导致,请按以下步骤排查:
Tailwind 3.x+ 默认不包含所有插件,需手动启用:
// tailwind.config.js
module.exports = {
corePlugins: {
borderWidth: true, // 必须启用边框宽度
divideWidth: true, // 必须启用分割线宽度
borderColor: true // 必须启用边框颜色
}
}
检查是否正确使用类名:
- 边框:border border-[width] border-[color]
例如:border border-2 border-red-500
- 分割线:divide-x
或 divide-y
+ divide-[color]
例如:divide-x divide-gray-200
分割线需要父元素设置flex
或grid
,且子元素间有间隔:
<div class="flex divide-x divide-gray-300">
<div>Item 1</div>
<div>Item 2</div>
</div>
如果使用JIT或生产构建,确保类名未被意外清除:
// tailwind.config.js
module.exports = {
content: [
'./**/*.html', // 检查路径是否包含所有使用文件
'./src/**/*.js'
],
safelist: [
'border', 'divide-x' // 强制保留类名
]
}
检查是否有其他CSS覆盖了Tailwind样式:
- 使用浏览器开发者工具检查元素,确认样式是否被覆盖
- 尝试添加 !important
测试:border-2 !important
确保已正确安装Tailwind及其依赖:
npm install -D tailwindcss@latest postcss@latest autoprefixer@latest
创建一个最小测试用例:
<div class="border-4 border-red-500 p-4">测试边框</div>
<div class="flex divide-x-2 divide-blue-500">
<div class="p-2">A</div>
<div class="p-2">B</div>
</div>
如果仍不显示,说明配置有问题;若显示,则原代码存在其他冲突。
通过以上步骤应能定位问题根源。如果问题依旧,建议提供:
1. 使用的Tailwind版本
2. 相关HTML代码片段
3. tailwind.config.js
内容
我会进一步帮你分析!