Tailwind 导致 antd 的 button icon svg 不居中的 bug

github issues 地址

bug 截图

图中可以看到 图标靠下了.
(其他地方的 icon 其实都靠下 , 这里用 button 来举例)
在这里插入图片描述

解决方案

方案一
在你的 css 中添加css 覆盖掉tw默认的值

@tailwind base;
@layer base {
    svg { 
        display: inline;
        vertical-align: baseline; 
    }
}
@tailwind components;
@tailwind utilities;

方案二:

@tailwind base;
@tailwind components;
@tailwind utilities;

/* 添加下面的代码 */
svg {
  vertical-align: baseline;
}

题外话:

禁用 清除浏览器默认样式

设置preflight: false这样就不会发生任何冲突了. (手动狗头)
( 不要去删除 @tailwind base , 这样会造成 tw 功能上的一些 bug)

module.exports = {
  content: [
    "./pages/**/*.{js,ts,jsx,tsx}",
    "./src/**/*.{js,ts,jsx,tsx}",
    "./components/**/*.{js,ts,jsx,tsx}",
  ],
  theme: {
    extend: {},
  },
  plugins: [],
  // 添加下面的代码,禁用 `清除浏览器默认样式`
  // (这样 `@tailwind base` 就只会添加一些默认的 tw 变量.不会去清除浏览器默认样式了.)
  corePlugins: {
    preflight: false,
  },
};

给工具类加上 !important 覆盖 antd 样式

由于 antd 和 tailwind 都是class, 是同级. 无法达到覆盖的效果, 所以必须加上 !important

工具类就是 @tailwind utilities ,平时写的 w-1 h-full 等等 都是 utilities .
所以 important 只会给自己写的工具类加上,不会影响其他部分

@tailwind components
是一些插件组件之类的, 比如 daisyUI

@tailwind base
是一些 tw 默认变量和清除浏览器默认样式 (可通过 preflight: false 移除).

module.exports = {
  // 省略一些代码
  
  // 开启  ( true 或 "#MyBox" ) 具体说明看官方文档
  important: true,
};

官网文档

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值