Css Vue js-创建子组件继承的样式

Css Vue js-创建子组件继承的样式,css,vue.js,vuejs2,Css,Vue.js,Vuejs2,首先,当我想为当前组件创建一个私有样式时,我会在标记中定义它。 为了使样式对子组件可见,我使用了一个深度选择器让它通过,如下所示: <style scoped> .a >>> .b { ... } </style> 也就是说,对于这个特定a的每个子级,如果它是b,那么对它应用下面的样式 我的问题是关于以下声明: <style scoped> >>> .b { ... } &

首先,当我想为当前组件创建一个私有样式时,我会在标记中定义它。 为了使样式对子组件可见,我使用了一个深度选择器让它通过,如下所示:

<style scoped>
   .a >>> .b {
       ...
   }
</style>
也就是说,对于这个特定a的每个子级,如果它是b,那么对它应用下面的样式

我的问题是关于以下声明:

<style scoped>
   >>> .b {
      ...
   }
</style>
那么,是什么使得这种样式不是全局的,并且不同于下面的定义(没有范围):


.b{
...
}
事实上,它们是不同的。我试过了,后者实际上是全局的,而前者对于父组件及其子组件是可见的

有人对此有解释吗?如果语法

<style scoped>
   >>> .b {
      ...
   }
</style>

>>>.b{
...
}

不是很常见,在不为父元素定义选择器的情况下,创建仅适用于子组件的样式的正确方法是什么?

我认为创建仅适用于子组件的样式的唯一方法,而不为父组件定义选择器,就是在子组件中定义此样式


真诚地

我认为,在不为父组件定义选择器的情况下,创建仅用于子组件的样式的唯一方法就是在子组件中定义此样式


真诚地

::v-deep
是不会打乱VSCode linter的等价物:

<style scoped>
    ::v-deep .b {
        ...
    }
</style>

::v-deep.b{
...
}

::v-deep
是不会打乱VSCode linter的等价物:

<style scoped>
    ::v-deep .b {
        ...
    }
</style>

::v-deep.b{
...
}

我想你没抓住我。我希望该样式对父级及其子级都是可访问的,但对其他人(即不适用于父级的父级,或者换句话说,不适用于全局)。因此,我确实需要在父范围内定义样式,但不知道如何定义。谢谢我想你没抓住我。我希望该样式对父级及其子级都是可访问的,但对其他人(即不适用于父级的父级,或者换句话说,不适用于全局)。因此,我确实需要在父范围内定义样式,但不知道如何定义。谢谢
<style scoped>
   >>> .b {
      ...
   }
</style>
<style scoped>
    ::v-deep .b {
        ...
    }
</style>