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

CSS 样式穿透

CSS 样式穿透(Shadow DOM / 组件作用域)​ 相关的写法,下面直接对比👇


一、核心对比表

写法

状态

所属规范

典型使用场景

是否推荐

/deep/

已废弃

旧版 Shadow DOM 草案

Angular / 早期 Vue / Polymer

❌ 不推荐

::deep

⚠️过渡写法

Vue 2 / 部分框架私有

Vue SFCscoped样式

⚠️ 仅兼容旧项目

:deep()

当前标准

Vue 3 / 现代 CSS

Vue 3 / Vite / Web Components

强烈推荐

::v-deep

⚠️ Vue 2 别名

Vue 2 私有

Vue 2scoped

⚠️ 旧项目可用

二、逐个拆解

1️⃣/deep/(已死)

css

.parent /deep/ .child { color: red; }
  • 来自早期 Shadow DOM 规范

  • Chrome 曾经支持,后来被 W3C 移除

  • 现在Chrome / Firefox / Safari 均已不支持或警告

  • Angular 早期文档用过,现在也已废弃

结论:别再用了,写了也没用。


2️⃣::deep(半死不活)

css

.parent ::deep .child { color: red; }
  • Vue 2 时代用来穿透scoped

  • 不是标准 CSS,是Vue 编译器私有的魔法

  • 在 Vue 3 中不推荐

结论:Vue 2 老项目还能跑,新项目别写。


3️⃣:deep()✅ 当前正统

css

.parent :deep(.child) { color: red; }
  • Vue 3官方推荐写法

  • 编译时会正确处理scoped

  • 语义清晰,函数式写法

  • 与 CSS 规范兼容性最好

结论:现在只写这个。


4️⃣::v-deep(Vue 2 遗产)

css

.parent ::v-deep .child { color: red; }
  • Vue 2 的别名写法

  • ::deep等价

  • Vue 3 中已不推荐使用

结论:只出现在 Vue 2 老代码里。


三、为什么要有这些东西?

问题根源:scoped样式

vue

<style scoped> .card { color: red; } </style>

Vue 会把它编译成:

css

.card[data-v-abc123] { color: red; }

👉子组件内部的.card不会被命中

解决方案:样式穿透

css

:deep(.el-button) { color: red; }

编译后 ≈ css

[data-v-abc123] .el-button { color: red; }

✅ 成功“钻”进子组件

http://www.jsqmd.com/news/1002331/

相关文章:

  • 从数据到决策:手把手教你用PLUS和InVEST模型搞定土地利用与生态服务评估
  • 淘宝自动化脚本终极指南:如何让手机自动完成所有淘宝日常任务
  • 一台电脑,四人同乐:Nucleus Co-Op分屏游戏终极指南
  • 5分钟快速上手:NoSleep终极Windows防休眠工具完整指南
  • 保姆级教程:用FPGA+SPI搞定TDC-GPX2的皮秒级时间测量(含Verilog代码片段)
  • 别再死记硬背了!用Python可视化带你‘看见’牛顿-莱布尼茨公式的证明过程
  • Windows USB开发为何如此困难?UsbDk高级解决方案深度解析
  • 被暴露的AI系统提示词——从CL4R1T4S仓库看Claude Fable 5的透明与紧张
  • iPaaS破除“系统孤岛”:制造业数据断流呼唤API全生命周期治理
  • 别再凭感觉画线了!用KiCad/Eagle实战演示:如何根据电流和板厂工艺精准设置PCB线宽
  • 告别卡顿!C# Halcon HWindowControl图像缩放与拖动的性能优化实战(附防闪烁代码)
  • 三秒极速恢复!用QEMU检查点快照为你的开发环境打造“时光机”(附-monitor命令详解)
  • 告别卡顿!在C# Halcon HWindowControl中实现丝滑图像缩放与拖动的完整指南(附防闪烁方案)
  • 晶体场分裂理论与量子材料缺陷态研究
  • 海康威视HCNetSDK.dll集成避坑指南:解决Java JNA调用中的常见错误与内存问题
  • 别再被网站屏蔽了!Chromedp无头浏览器隐藏WebDriver指纹的保姆级教程
  • 3分钟学会:OBS背景移除插件让普通摄像头变专业绿幕
  • Android防撤回神器Anti-recall:免root保护你的聊天记录
  • ISP Tuning新手到高手:我的三段式学习法,从调参数到懂原理
  • 企业如何打造自己的逆变器品牌?
  • 3分钟上手OBS背景移除插件:AI智能抠图让你的视频会议更专业
  • Swiss-Model建模结果怎么看?手把手教你解读GMQE和QMEANDisCo分数
  • 从‘九鼎之局’到‘旋转数独’:我是如何用贪心法和DFS剪枝玩转数字拼图的
  • IR-Protocol 已正式上线,面向AI记忆链与人文学交互AI 开放标准文档
  • SAP SD模块实战:手把手教你用USEREXIT_SAVE_DOCUMENT_PREPARE搞定销售订单的必填项检查
  • “AI大语言模型”助力大气科学相关交叉领域实践技术应用
  • 从‘死神经元’到稳定训练:用PyTorch的LeakyReLU解决GAN训练中的常见崩溃问题
  • 从‘开发’到‘验证’:一张图看懂DO-178C工具鉴定等级(TQL)怎么定,附工具选型避坑建议
  • 避坑指南:N32G45X移植LVGL 8.3到ILI9488屏幕,我遇到的三个“坑”及填平方法
  • 不止于RDF:用GROMACS后处理命令串起分子模拟的完整分析管线(含MSD、相互作用能)