AI教程网 - 未来以来,拥抱AI;新手入门,从AI教程网开始......

[Vue] 解决vant 无法修改组件的样式问题

Vant组件样式 AI君 21℃

首先我们应该知道在scoped里修改是无法做到修改vant样式的,这是外部引入的样式,下面的方法可以解决修改vant样式的同时,使用scoped,防止样式污染

第一种:加上父级自己定义的类名.common-container >>> (只作用于css)

<style lang="scss" scoped>
	.common-container >>> .van-pull-refresh__head {
	  color: #fff;
	}
</style>

第二种:有些Sass 、Less之类的预处理器无法正确解析 >>>。可以使用 /deep/操作符或 ::v-deep 操作符( 两者都是>>> 的别名)

<style lang="scss" scoped>
	/deep/ .van-list__error-text, 
	/deep/ .van-list__finished-text,  
	/deep/ .van-list__loading ,
	/deep/ .van-pull-refresh__head ,
	/deep/ .van-loading__text {
	  color: #fff;
	}
</style>
.common-container{
    &::v-deep .van-pull-refresh__head{
     	color: #fff;
        // ...
    }
}

如果你希望 scoped 样式中的一个选择器能够作用得“更深”,例如影响子组件,你可以使用 >>> 操作符:

handlebars <style scoped> .a >>> .b { /* ... */ } </style>

上述代码将会编译成:

handlebars .a[data-v-f3f3eg9] .b { /* … */ }

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

参考
https://blog.csdn.net/idomyway/article/details/94659598

作者:iChangebaobao
原文链接:https://blog.csdn.net/iChangebaobao/article/details/105514164

转载请注明:www.ainoob.cn » [Vue] 解决vant 无法修改组件的样式问题

喜欢 (0)or分享 (0)