vue中如何更改第三方UI库的样式?

在vue项目中,一般会使用第三方UI库。例如elementUI、vant、mint等。
往往需要改写样式来满足公司内部UI设计。很多时候,会产生各种各样的问题。污染全局样式等。vue文件中样式都是模块化的。只做用于当前作用域。
vue中 scoped的原理分析。
在浏览器开发者工具下我们可以看到,页面中元素都带有一个data-v-2df2d1234这一长串自定义属性。样式中会有对应的匹配。这是vue-loader处理后的东西。用来保证样式不会造成全局污染。当我们的组件中引入第三方UI库的组件并修改样式不生效时可能就是scoped的关系
方法一、
分析element代码结构可以看出来端倪。在我们的样式前加上/deep/可以把自定义属性提升到父元素上,可以解决样式不生效的问题。
方法二、
在.vue文件后追加

<style>
	修改样式的代码
</style>

方法三、
在外层dom结构上增加额外的class。

最好的方式是方法三,/deep/这种写法影响性能,强烈不推荐。方法二会带来污染全局的问题。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值