ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

>>> /deep/ ::v-deep 深度作用选择器

2022-07-03 19:35:39  阅读:162  来源: 互联网

标签:style 样式 deep 报错 深度 组件 选择器 css


一、
在写一下vue项目的时候,经常会引起一些组件,无论是自定义组件还是引入的外部组件,style经常用scoped属性实现组件的私有化,防止影响到其他页面上的样式。但是有时候需要在父组件中更改子组件的样式,比如要改变element-ui某个深层次元素(eg:.el-input_inner)或其他深层次样式时,就要用到组件穿透,(也叫深度修改css,深度作用选择器)
二、可用的方法有 >>> 、 /deep/ 、 ::v-deep
image

有些像 Sass 之类的预处理器无法正确解析 >>>。这种情况下你可以使用 /deep/ 或 ::v-deep 操作符取而代之——两者都是 >>> 的别名,同样可以正常工作。

如果项目style使用的是css 原生样式,那么你可以直接使用 >>> 穿透修改

但是像scss等预处理器却无法解析>>>,所以我们使用下面的方式.

/deep/
项目style中用到了css预处理器 scss 、sass、less时, 操作符 >>> 可能会因为无法编译而报错 。可以使用 /deep/

但是在vue-cli3编译时,/deep/的方式会报错或者警告,导致变异报错。这个时候用::v-deep

::v-deep
::v-deep在预处理器 scss 、sass、less 比较通用

切记必须是双冒号,是::v-deep而不是::deep

总结
当我们在项目中需要用额外的样式来打造自己的应用样式时,只能通过深度作用选择器

style为css时的写法如下

.a >>> .b {


}

style使用css的预处理器(less, sass, scss)的写法如下

第一种/deep/

/deep/ .a {


}

第二种::v-deep

::v-deep .a{


}

建议使用第二种方式,/deep/在某些时候会报错,::v-deep更保险并且编译速度更快(网上没有找到相关资料,无从验证)。

标签:style,样式,deep,报错,深度,组件,选择器,css
来源: https://www.cnblogs.com/zmh114712318/p/16440606.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有