vue 样式加scoped不起作用
出现环境:在vue组件中使用了scoped,发现手写的标签样式起作用,但是第三方的组件标签并没有起作用
原因:
1. 先搞清楚scoped的布局实现
在style上加上scoped后 会对 style里面加了样式的标签 每个加上一个 像这样的一个属性
1 | data-v-4686dc05 |
组件内的样式只会对带有这个标签的dom元素生效,因此加上scoped
后,组件内的样式不会影响组件外。
2. scoped 只会作用于自组件的根组件
官方解释:使用 scoped
后,父组件的样式将不会渗透到子组件中。不过一个子组件的根节点会同时受其父组件的 scoped CSS 和子组件的 scoped CSS 的影响
解决方案:
1. 加上一个不带scoped的style
<style scoped> // scoped style <style> <style> //no scoped style </style>
2. 使用 >>> 深度访问 注意:只针对css起作用 一些sass less预处理器不起作用
<style lang="css" scoped> .a >>> .b { /* ... */ } </style>
3. 使用 /deep/ 或者 ::v-deep 推荐使用 ::v-deep可以直接使用
// 我在使用/deep/时会报错 查了一下 需要修改webpack ,vue-loader
<style lang="scss" scoped> .a{ ::v-deep .b { /* ... */ } } </style>
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)