Vue style 穿透样式选择器
Vue style 穿透样式选择器
开发vue项目中经常会引入一些组件,无论是自定义组件还是引入的外部组件,style标签上经常会设置scoped
属性,vue组件编译后,会将 template 中的每个元素加入[data-v-xxxx]
属性来确保style scoped
仅本组件的元素而不会污染全局。
但如果你引用了第三方组件,又需要在父组件更改子组件的样式。就要用到组件穿透(也叫深度修改css)。
解决方法1:混用本地和全局样式
一个.vue文件允许多个style,你可以在一个组件中同时使用有 scoped 和非 scoped 样式:
1 |
|
解决方法2:深度作用选择器 >>>
如果项目使用的是css 原生样式,那么你可以直接使用 >>>
穿透修改
1 |
|
有些像sass/less之类的预处理器无法正确解析 >>>
,这时候需要使用 /deep/
选择器,但是vue-cli3可能会导致变异报错。这个时候用 ::v-deep
1 |
|
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!