使用scoped的话样式就只能影响到当前组件而不能影响其子组件了,而有时因为设计问题,不同子组件间存在大量的样式共用,想着请教大神是否能让样式只能应用于本组件及其子组件。
使用scoped的话样式就只能影响到当前组件而不能影响其子组件了,而有时因为设计问题,不同子组件间存在大量的样式共用,想着请教大神是否能让样式只能应用于本组件及其子组件。
vue-loader
有个叫做Deep Selector
的东东(文档见:https://vue-loader.vuejs.org/...),例如:
<style scoped>
.a >>> .b { /* ... */ }
</style>
可得:
.a[data-v-f3f3eg9] .b { /* ... */ }
如果是sass或者scss的话就要用/deep/
代替>>>
,例如
<style lang="scss" scoped>
.a /deep/ .b { /* ... */ }
</style>
13 回答12.8k 阅读
7 回答1.9k 阅读
5 回答1.4k 阅读
9 回答1.7k 阅读✓ 已解决
6 回答976 阅读
3 回答1.1k 阅读✓ 已解决
3 回答1.4k 阅读✓ 已解决
不使用scoped并自己把控制握好css命名空间
可以对每个组件都用特定唯一的class命名,且该组件的css都在该命名的范围内。
例如 header是index的子组件
最终渲染