深度选择器分类,
>>> 一般用于原生css
/deep/ 一般用于less
::v-deep 一般用于scss
示例如下:
为style添加scoped
1: scoped属性的作用
加上scoped的作用是,使style的样式只对于当前的组件有用。
本质上,对于某一个组件,如果style添加上scoped属性,给当前子组件的结构中都添加上一个data-v xxxx自 定属性
会发现vue是通过属性选择器,给需要添加的元素添加上样式
h3[ data-v- 7ba5bd90]
Child为子组件,内部代码为:
展开控制台,代码为:
若想在父组件中操作子组件样式,父组件内标签都会自动添加【属性】,如,
div div h3=>div[data-v-7b…] div[data-v-7b…] h3[data-v-7b…]
而我们想要的是,div[data-v-7b…] div[data-v-7b…] h3[data-v-2d…]
故,需要进行样式穿透,
若为less,可以使用
div div /deep/h3 来匹配上 div[data-v-7b...] div[data-v-7b...] h3[data-v-2d...]