vue组件样式穿透 /deep/ 、 >>> 和 ::v-deep

style 经常用 scoped 属性实现组件的私有化时,要改变 element-ui 某个深层元素(eg:.el-input__inner)或其他深层样式时,需要使用 /deep/,如:

.conBox /deep/ .el-input__inner{
    padding:0 10px;
}

注意,/deep/vue 3.0或者新版scss-loader不支持 会报错
如果 /deep/ 报错,可采用 ::v-deep ,效果基本一样,有人说 ::v-deep 能加快编译速度,但是我在网上没有找到相关资料,无从验证。

.conBox ::v-deep .el-input__inner{
    padding:0 10px;
}

深度作用选择器 >>>

.conBox >>> .el-input__inner{
    padding:0 10px;
}

(注意,只作用于css)
但如果是sass/less的话可能无法识别,这时候需要使用 /deep/和::v-deep 选择器。
想修改element-ui某个深层元素也有其他方式解决;

解决方法之一:除非你将 scoped 移除,或者新建一个没有 scopedstyle(一个.vue文件允许多个style)

----------------------------------------- 更新 ------------------------------------------
如果项目使用vite的话,会有使用::v-deep的话会有警告⚠️
需改用deep() 即可,如下:

.conBox :deep() {
 .el-input__inner{
    padding:0 10px;
}

你可能感兴趣的:(【Vue/React】,【html5/css3】,v-deep,/deep/)