vue css module和scoped

本文对比了Vue中scoped和module两种样式使用方式。Scoped适用于中小项目,但可能影响子组件已定义的样式;Module适合大型项目,提供更安全、灵活的样式控制,通过$style对象绑定,便于识别组件归属。

区别:

 scoped使用方式更简单,更适合中小型web应用程序,局限性是如果你子组件的元素上有一个类已经在这个父组件中定义过了,那么这个父组件的样式就也会应用到子组件上。

         module更适合大型应用程序,它会让你的样式更加灵活安全,易于控制。scoped不一样的地方就是在于所有创建的类可以通过$style对象获取。因此使用module,就需要通过:class来绑定$style这个对象。它的好处是,当我们在HTML中查看这个元素时,我们可以立刻知道它所属的是哪个组件。

注意:

       如果页面需要引用外来ui样式,例如mint-ui等,想要修改mint-ui局部样式的话,在scoped和module作用下,简单的在当前页覆盖其css样式是不生效的。处理方式:1、直接修改mint-ui源代码,较为复杂麻烦,不建议。2、重新创建一个css文件,并在main.js中引入,注意要引用在mint-ui文件的下方,相当于覆盖其原css,推荐。3、根据此博客(https://www.w3cplus.com/vue/scoped-styles-vs-css-modules.html?spm=a2c4e.11153940.blogcont693040.10.73bd4b78vm5IqZ),在scoped样式中,这种情况可以使用>>>连接符或者/deep/来解决

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值