首页IT科技Vue样式绑定(Vue3中样式渗透:deep()为什么无效)

Vue样式绑定(Vue3中样式渗透:deep()为什么无效)

时间2025-08-04 20:43:13分类IT科技浏览5332
导读:今天学习 /deep/ 样式穿透,因为vue3中已经使用:deep( 取代了/deep/ ,所以直接用:deep( 练习。...

今天学习 /deep/ 样式穿透                ,因为vue3中已经使用:deep()取代了/deep/                        ,所以直接用:deep()练习               。

:deep()的使用场景:

如果给当前组件的style 节点添加了scoped 属性      ,则当前组件的样式对其子组件是不生效的                      。如果想让某些样式对子组件生效            ,则需要使用:deep()        。

我原本觉得这个没有难度                        ,于是写了个案例来验证            。然后问题出现了          ,:deep()定义的样式在子组件中不起作用                      。

我开始找错        ,把包括冒号                、括号在内的语法格式等都检查了一遍                        ,发现语法格式没有问题              ,控制台也不报错    ,但是:deep()格式的样式在子组件中就是无效            。

幸好我这儿有一个:deep()格式起作用的范例                        ,没办法                  ,只好把两个文件中的父组件                       、子组件逐一比对,前后费了不少时间                    ,终于找到了问题所在        。

我在前面练习的时候                      ,Vue2.X中要求元素必须在一个根节点中   ,Vue3.X无此要求                ,可以不在一个根节点中                       ,所以为了验证这一点      ,我把外层的

可是问题就出在这个根节点上            ,如果App.vue中没有这个根节点                        ,那么:deep()不起作用          ,我把根节点加上        ,:deep()样式就生效了                      。

唉                        ,感觉自己被这个根节点坑了一把                。

1.父组件App.vue中代码 <style lang="less" scoped> :deep(.title3){ background-color:antiquewhite; } </style>

2.子组件中的代码

<template> <h3 class="title3">受父组件影响的内容</h3> </template>

还有一点让我觉得新鲜              ,CSS中颜色的色块有两个    。

声明:本站所有文章    ,如无特殊说明或标注                        ,均为本站原创发布                      。任何个人或组织                  ,在未征得本站同意时,禁止复制      、盗用            、采集                        、发布本站内容到任何网站          、书籍等各类媒体平台                    。如若本站内容侵犯了原著者的合法权益                    ,可联系我们进行处理。

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
vps搭建服务器上网(使用VPS搭建FTP服务器的简明教程) 海外独立站运营(独立ip韩国服务器好处有哪些)