在vue中引入了scoped这个概念,scoped的设计思想就是让当前组件的样式不会修改到其它地方的样式,使用了data-v-hash的方式来使css有了它对应模块的标识,这样写css的时候不需要加太多额外的选择器,方便很多。
但是要注意scoped的作用域,因为权重的问题,如果是在子组件使用了scoped,那么在父组件中是不能直接修改子组件的样式的,需要在父组件中使用vue的深度作用选择器。
.parent >>> .children{ /* ... */ }
.parent /deep/ .children{ /* ... */ }
有时候在scoped中定义的样式会失效,但是写在全局样式中却有效,这个时候就是vue中页面样式挂载顺序的问题了,scoped中的样式会在页面内容渲染出来之前就挂载出来,而全局样式则是预先定义好了,页面元素渲染出来之后,才会将样式渲染上去