关于深度改变组件样式不生效问题

在使用antd或element-ui需要改变组件样式时,一般情况下,会采用深度改变组件样式的写法。

  • 如果是css,一般采用>>>的写法,示例如下:前面的类一般是后面组件的父类或祖先类。在这里插入图片描述
  • 如果是less或其他预处理语言,需要使用/deep/语法,一般使用如下示例:deep前面可以不用写类名,有时候使用deep可能会报错,可以改成::v-deep,用法与deep一致。在这里插入图片描述
    有时候会出现以上三种情况都不能生效的问题,这个时候需要考虑组件的样式是否是在嵌套的组件中了。某些情况是直接绑定在body上面的,所以如果设置了scoped属性,可能会被影响,如果不生效,可以尝试去掉scoped这一属性,但这并不是一个好的写法,一个文件中可以有多个style的标签,如果想要改变的某样式在scoped里面不生效,可以多加一个style标签,用于放置scoped不生效的样式,其他样式仍写在设有scoped的style标签内,避免相互影响。如果不是scoped影响,还可以考虑样式的权重问题。很多时候我们应该避免使用以上这些写法,因为使用这些写法,样式还会被编译一次,有时候嵌套太深还可能会影响性能。基于此,我们可以找到要更改组件的类命,然后将类命提取出来重写,同时要注意权重问题,以免不生效。在n这里插入图片描述
    下图展示了两个style标签的用法:
    在这里插入图片描述
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值