vue项目中/deep/的用法-vue-cli中没法覆盖样式解决方法

Vue CLI样式穿透:/deep/与:deep()的使用
在Vue CLI项目中遇到子组件样式覆盖问题时,可以使用/deep/或:deep()深度选择器来解决。当 scoped 属性存在时,组件样式不会影响子组件。本文介绍了如何通过添加/deep/或:deep()来穿透作用域,确保样式正确应用到子组件上,特别提到了/deep/在Vue 2中的使用和在Vue 3中被:deep()替代的事实。

在vue-cli项目中,我们在二次覆盖样式的时候会遇到这个问题,就是在控制样式的时候,复制了类名,但是设置了样式会没有。

解决方式:在样式前面加一个 /deep/

<style lang="less" scoped>
.Home-container {
  padding: 46px 0 50px 0;
  .van-nav-bar {
    background-color: #007bff;
    color: white;
  }
  // 需要加 /deep/ 才能控制到它
  /deep/ .van-nav-bar__title{
  color: white;
  }
}
</style>

具体可以总结如下图: 

/deep/ 样式穿透

如果给当前组件的 style 节点添加了 scoped 属性,则当前组件的样式对其子组件是不生效的
如果想让某些样 式对子组件生效,可以使用 /deep/ 深度选择器
注意:/deep/ 是 vue2.x 中实现样式穿透的方案。在 vue3.x 中推荐使用 :deep() 替代 /deep/。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

星月前端

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值