如何解决Vue加scoped后修改Vant UI组件样式的问题?
- 内容介绍
- 文章标签
- 相关推荐
本文共计987个文字,预计阅读时间需要4分钟。
当UI组件提供的默认样式无法满足项目需求时,我们需要对样式进行修改。但发现添加了scoped属性后,修改的样式不起作用。
解决方法:使用深度选择器,将scoped样式中的选择器扩展,使其覆盖scoped作用域之外的样式。
有时候UI组件提供的默认的样式不能满足项目的需要,就需要我们对它的样式进行修改,但是发现加了scoped后修改的样式不起作用。
解决方法:
使用深度选择器,将scoped样式中的选择器“深入”,即影响子组件
<style scoped> .a >>> .b { /* ... */ } </style>
以上的代码会编译成:
.a[data-v-f3f3eg9] .b { /* ... */ }
注意:如果你使用了Less或Sass等预处理器,可能无法>>>正确解析。在这些情况下,您可以使用组合/deep/或::v-deep组合 - 两者都是别名,>>>并且工作完全相同。
使用Less或Sass等预处理器的写法如下:
.van-radio { /deep/ .van-radio__label { width: 500px; } }
补充知识:vue+vant移动端遇到的那些问题
1、项目引用了lib-flexible 跟px2rem-loader做适配,然后真机测试的时候发现字体在手机上显示的很小。
本文共计987个文字,预计阅读时间需要4分钟。
当UI组件提供的默认样式无法满足项目需求时,我们需要对样式进行修改。但发现添加了scoped属性后,修改的样式不起作用。
解决方法:使用深度选择器,将scoped样式中的选择器扩展,使其覆盖scoped作用域之外的样式。
有时候UI组件提供的默认的样式不能满足项目的需要,就需要我们对它的样式进行修改,但是发现加了scoped后修改的样式不起作用。
解决方法:
使用深度选择器,将scoped样式中的选择器“深入”,即影响子组件
<style scoped> .a >>> .b { /* ... */ } </style>
以上的代码会编译成:
.a[data-v-f3f3eg9] .b { /* ... */ }
注意:如果你使用了Less或Sass等预处理器,可能无法>>>正确解析。在这些情况下,您可以使用组合/deep/或::v-deep组合 - 两者都是别名,>>>并且工作完全相同。
使用Less或Sass等预处理器的写法如下:
.van-radio { /deep/ .van-radio__label { width: 500px; } }
补充知识:vue+vant移动端遇到的那些问题
1、项目引用了lib-flexible 跟px2rem-loader做适配,然后真机测试的时候发现字体在手机上显示的很小。

