vue样式穿透

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vue样式穿透相关的知识,希望对你有一定的参考价值。

参考技术A vue的style中设置scoped属性后,组件实现样式私有化。
但是该组件又使用的其他组件库时(vant,elementui,自定义等),该组件的style中的样式,优先级低,不生效,这个时候需要使用样式穿透(作用得更深)。

通过图片可以看到scoped底层是通过在 DOM节点 中添加 data-v-xxx , CSS 中通过添加 [data-v-xxx] 属性过滤,提高优先级,来实现样式的私有化。

看一个场景实例:子组件根元素颜色为 红色 ,非根元素为 蓝色 。
父子两个组件 style 都使用 scoped 属性,在不修改子组件的前提下,在父组件上修改子组件的颜色为 绿色 。

当加上样式穿透后

vue 中针对不同的样式类型( css , less , scss )有不用的样式穿透方法。

vue3实现样式穿透

在vue2中可以直接使用   /deep/来穿透样式

在vue3里面可以用过 :deep 来穿透样式

以上是关于vue样式穿透的主要内容,如果未能解决你的问题,请参考以下文章

Vue样式穿透

vue样式穿透>>>

vue样式穿透>>>

vue中的事件禁止穿透

vue项目中使用样式穿透

Vue样式穿透 ::v-deep的具体使用