默认作用于全局样式
当
它通过使用 PostCSS 来实现以下转换:
PostCSS是一种css的编译的工具
.example {
color: red;
}
hi
转换结果:
.example[data-v-f3f3eg9] {
color: red;
}
hi
PostCSS给所有的dom都添加了一个独一无二的动态属性,给css选择器也添加了一个对应的属性选择器,这样就可以让样式只作用于该属性的dom元素(组件内部的dom)。
混用本地和全局样式
你可以在一个组件中同时使用有作用域和无作用域的样式:
/* 全局样式 */
/* 本地样式 */
深度作用选择器
如果你希望 scoped 样式中的一个选择器能够作用得“更深”,例如影响子组件,你可以使用 >>>操作符:
.a >>> .b { /* ... */ } /* a盒子中的b盒子的样式 */
上述代码将会编译成:
.a[data-v-f3f3eg9] .b { /* ... */ }
有些像 Sass 之类的预处理器无法正确解析 >>>。这种情况下你可以使用 /deep/操作符取而代之——这是一个>>>的别名,同样可以正常工作。