关于css、vue2、vue3的样式穿透

975 阅读1分钟

首先为什么我们会要使用到样式穿透呢? 因为我们在给第三方组件要自定义一些样式的时候,有时候会发现设置了样式是不生效的,这时候我们使用样式穿透就可以看到我们自定义样式的效果了

image.png

image.png

生效的情况:

在vue中通常会给组件的style标签上加一个scoped属性,这样可以让在该标签下的css样式私有化,只为当前该组件服务,主要是通过'data-xxx-xxx'属性进行区分,在这个属性的作用域或带有这个属性作用域的选择器时,你设置的这个样式就会生效的。

不生效的情况

在没有'data-xxx-xxx'属性的选择器上设置样式时就不会生效了。

css----箭头三剑客

语法:  选择器 <<< 选择器 {样式}

image.png

vue2中less/scss的样式穿透

/deep/ : 在你要穿透的选择器前加上即可

语法:
   /deep/ 选择器 {样式}
   

image.png

::deep:使用方式与/deep/同理,当/deep/不生效时,可以使用

    语法:
        ::deep 选择器 {样式}
        

image.png

vue3中的样式穿透

:v-deep或者::v-deep

语法:
    :v-deep(选择器) {样式} 或者 ::v-deep(选择器){样式}

image.png

来自前端小白的浅层想法,有误还望大佬多多包含,帮助小白指正一下下啦