1.scoped属性:
当给<style scoped> </style>添加 scoped 属性之后,它会给每一个class添加一个唯一的属性值,避免了出现类名重复,样式重叠被污染的问题,相当于限制了作用域,它的 CSS 只作用于当前组件
// 编译前
.className {
background: red;
}
// 编译后。
.className[data-el-v09ew9w] {
background: red;
}
2.深度选择器
因为scoped属性,限制了作用域,父组件的样式不能应用到子组件上,所以需要深度选择器/deep/和>>>,来向下扩大范围
// 非css语言预处理器,可以使用>>>
.parentElementClassName >>> .childrenElementClassName {
background: red;
}
// less或scss,可以使用/deep/
.parentElementClassName /deep/ .childrenElementClassName {
background: red;
}