vue 父组件修改子组件样式 /deep/的用法

父组件修改子组件样式

穿透组件样式

如果想在父组件影响子组件的样式,需要使用/deep/,深度修改样式方法

VUE中 /deep/ 的用法

/deep/ 是一个用于选择器的前缀,它用于在 Vue.js 的样式中穿透组件的scoped样式。在 Vue.js 中,当样式被标记为 scoped 时,它们只应用于该组件的HTML元素。这可以防止样式泄漏到其他组件。但有时可能需要“穿透”这个作用域并应用到子组件或内部的元素。在这种情况下,可以使用 /deep/ 或 ::v-deep

<template>  
  <div class="parent">  
    <ChildComponent />  
  </div>  
</template>  
  
<style scoped>  
.parent /deep/ .child {  
  color: red;  
}  
</style>

在这里,即使 .child 是 ChildComponent 的一部分,并且该组件有自己的作用域,.child 仍然会被赋予红色字体颜色,因为我们使用了 /deep/ 穿透了父组件的作用域。

需要注意的是,随着时间的推移,/deep/ 的使用已经变得不那么普遍,而 ::v-deep 的使用更为常见,因为它是 Vue.js 官方文档中推荐的方式。

>>> 也是用于样式穿透和/deep/一致,用法也相同

注意,vue3.x,>>>和/deep/都已经不被推荐使用了,取而代之的是::v-deep。因此,如果新项目是基于Vue 3.x开发的,使用/deep/可能会导致样式穿透不起作用,或者出现报错。

<template>  
  <div class="parent">  
    <ChildComponent />  
  </div>  
</template>  
  
<style scoped>  
.parent ::v-deep .child {  /* 与 /deep/ 效果一样 */
  color: red;  
}  
</style>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值