Tailwind CSS 仅上下边框不生效问题排查求助
问题
我尝试只为元素设置顶部和底部边框(不设置左右边框),经检查未发现冲突的CSS标签。使用className="border-y-2 border-gray-3 h-24 ml-4 mb-0 w-full"时无任何边框显示;添加border-solid后,元素却显示出四面边框。请问我是否遗漏了Tailwind文档中的相关内容?
解答
- 核心原因:Tailwind的
border-y-*这类方向边框宽度类,不会自动附带边框样式。浏览器默认边框样式为none,所以仅设置宽度和颜色时,边框不会显示。 - 为什么加
border-solid会出现四面边框?因为border-solid是全局样式类,会给元素四个方向都设置solid样式。此时若未指定左右边框宽度,浏览器会使用默认边框宽度(通常为1px),导致四面都出现边框。 - 正确写法:搭配方向专属的边框样式类
border-y-solid,仅给上下边框设置样式,左右边框保持默认的none状态,就能只显示上下边框:className="border-y-2 border-y-solid border-gray-3 h-24 ml-4 mb-0 w-full" - 额外方案:也可以在Tailwind配置文件中修改
borderStyle的默认值为solid,让所有边框类默认使用solid样式,但这种方式会影响全局元素,按需选择即可。
内容的提问来源于stack exchange,提问作者Tom Robshaw
相关产品推荐
相关产品推荐

