使用过Vue的同学都知道 在不同的组件内难免会用到相同的类样式或者ID样式,为了不影响其它组件的样式,我们会在头部加上scoped 标记 ,就像这样

它的原理就是在html标签上添加data-v-xxxxxxxx属性,然后在css类名后添加属性选择器,即利用css类选择 + 属性选择器实现样式局部化。。
关于scoped的使用需要注意一下几点:
1. 并不是所有的css都能私有化,
一个子组件的根节点会同时受其父组件的 scoped CSS 和子组件的 scoped CSS 的影响。这样设计是为了让父组件可以从布局的角度出发,调整其子组件根元素的样式。**
**所以在同一个父组件中多个子组件的布局理解这一点很重要!!!
2.scoped配合::V-deep的使用
当父子组件都有scoped时,在父组件去修改子组件样式时,需要加上::V-deep 或者 >>> 来穿透样式

如果没有效果就需要加上 !important 来提高权重
本文介绍了Vue中scoped属性用于实现组件样式的局部化,解析了它的工作原理,即通过data属性和CSS属性选择器结合实现。讨论了父组件如何影响子组件样式,并强调在同一个父组件内多个子组件的样式布局的重要性。同时,提到了使用::v-deep或>>>来穿透样式的作用,以及在必要时使用!important提高权重。
1403

被折叠的 条评论
为什么被折叠?



