修改组件默认样式之/deep/(less,sass)

12 篇文章 0 订阅

在使用第三方组件时有时候我们想修改组件的样式,可以使用全局的方式,即不使用scoped。如果多处共用我们只需要统一修改,假如有多种类型呢?我们不得不另起一个名字。如果我们想要封装一个组件,定义的样式希望在该文件中生效,不影响其他组件,我们将使用scpoed的方式。这种方式去修改第三方组件的样式往往是无效的,什么原因呢?怎么处理呢?
使用scoped的方式定义的自定义dom样式所生成的dom结构有额外的属性,然而所定义的组件样式在组件结构中并不会添加该属性
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

而打包生成的样式结构类似于.cost-detail .singleConstImg[data-v-762c4be2],所以样式.cost-detail .el-dialog 无效。
解决方式
在less或者scss等编译语言中使用/deep/
或者在style(没用使用scss等)中使用>>>cost-detail >>> .el-dialog{}
这时候打包出来的样式结构是
在这里插入图片描述
在组件样式上使用了/deep/后,内部定义的组件样式或者自定义样式不需要再次使用/deep/,否则样式无效。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值