vue组件中style的属性scoped

style中的scoped的作用

不加scoped的效果如下:
在这里插入图片描述

加scoped的效果如下:
在这里插入图片描述
原理:根据属性选择器来确定唯一性。
作用:如果在style中添加scoped ,那么style的样式只能在当前组件内起作用,实现组件的私有化,不对全局造成样式污染,表示当前style属性只属于当前模块。

由此可知,添加scoped属性的组件,为了达到不污染全局,做了如下处理:

  • 给HTML的DOM节点加一个不重复属性data-v-xxxx 标志唯一性;
  • 在添加scoped属性的组件的每个样式选择器后添加一个等同与“不重复属性”相同的字段,实现类似于“作用域”的作用,不影响全局;
  • 如果组件内部还有组件,只会给最外层的组件里的标签加上唯一属性字段,不影响组件内部引用的组件;

优点和缺点

  • 优点:单独的组件样式不影响全局的样式;
  • 缺点:假如我需要修改其中的某个样式,但是并不能修改成功,因为scoped的原理导致的;

缺点如下图:
在这里插入图片描述
解决方法:

1、不给style样式加scoped(没用的解决方法)
2、里面有个加scoped的style样式,再单独写了style标签,不加scoped的属性里面写修改的样式。
3、::v-deep 加改动的样式 ;注意如果用scss的话 需改为 /deep/或者 >>>

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值