TDesign按钮样式覆盖不了自定义CSS,怎么解决?
在用TDesign的Button组件时,我想给按钮加个圆角和背景渐变,但写好的CSS样式一直被覆盖。比如这个代码:
.td-button-custom {
border-radius: 20px !important;
background: linear-gradient(to right, #ff9a9e, #ff5f9a) !important;
}
但按钮还是保持默认的方形和蓝色,浏览器开发者工具显示我的样式被标记为“被覆盖”。我试过加!important和调整类名顺序都没用,是不是TDesign的样式表优先级太高了?
如果一定要用CSS,可以试试加 scoped 样式或者用 ::v-deep 穿透进去。不过我懒得搞这些,内联最省事。
1. 先确认你的CSS加载顺序是不是在TDesign后面,如果顺序不对,直接凉凉。可以在主题的
functions.php里调整一下加载顺序。2. 如果顺序没问题,试试把选择器写得更具体点,比如:
3. 如果上面还不行,可能是TDesign用了内联样式或者动态生成的类名。这时候可以考虑用JavaScript强制改样式: 把这段代码丢到主题的JS文件里。
实在不行就只能骂两句TDesign的设计太死板了,不过这种情况也挺常见的,忍着吧。