当前位置: 首页 > news >正文

vue关于:deep穿透样式的理解

情况一

子组件:

 <div class="child"><div class="test_class">test_class<div class="test1">test1<div class="test2">test2</div></div></div></div>

父组件:

.child {color: red;:deep(.test_class) {color: blue;}
}

编译结果:
在这里插入图片描述
父组件只给子组件的顶层元素加hash
在这里插入图片描述
css中也是只在child后面加hash,所以命中样式生效
在这里插入图片描述

情况二

去掉:deep看看什么情况
子组件:

 <div class="child"><div class="test_class">test_class<div class="test1">test1<div class="test2">test2</div></div></div></div>

父组件:

.child {color: red;.test_class {color: blue;}
}

编译结果:
在这里插入图片描述
在这里插入图片描述
样式编译成.child .test_class[data-v-04d490df]了,这个样式为什么不能命中,因为data-v-04d490df属性只在类名为child的div上有
在这里插入图片描述
总结:父组件的只会给子组件的顶层元素加hash值,而子组件会给子组件的所有元素加自己的hash

情况三

在这里插入图片描述
如果template下有两个子元素的话,那deep就没有了,因为父组件没有给子组件加hash,如下图
在这里插入图片描述

情况四

注意不要给子组件的根元素加:deep,不然样式不生效
在这里插入图片描述
在这里插入图片描述
选不中,被编译成[data-v-e797f32d] .child了

http://www.lryc.cn/news/377084.html

相关文章:

  • 算法 |数字计数
  • 通义千问调用笔记
  • Linux常见的压缩文件种类与对应的压缩解压方法
  • LNMP网站架构
  • 排序算法及源代码
  • 力扣第206题“反转链表”
  • 多模态大模型解读
  • React是什么?
  • 创新入门 | 病毒循环Viral Loop是什么?为何能实现指数增长
  • 鸿蒙HarmonyOS实战:渲染控制、路由案例
  • 【Linux】进程控制2——进程等待(waitwaitpid)
  • SpringBoot 统计接口调用耗时的多种方式
  • Linux系统安装Ruby语言
  • 网络安全练气篇——OWASP TOP 10
  • python实现进度条的方法和实现代码
  • 被拷打已老实!面试官问我 #{} 和 ${} 的区别是什么?
  • C# —— while循环语句
  • 力扣第205题“同构字符串”
  • 探索RESTful API开发,构建可扩展的Web服务
  • 苹果安卓网页的H5封装成App的应用和原生开发的应用有什么不一样?
  • IO流2.
  • 详解MySQL中的PERCENT_RANK函数
  • 宏任务与微任务
  • 昇思大模型学习·第一天
  • python调用chatgpt
  • YOLOV8 目标检测:训练自定义数据集
  • 动态更新自建的Redis连接池连接数量
  • 浅谈设计师的设计地位
  • C/C++ string模拟实现
  • 微信小程序学习(八):behaviors代码复用