-
.vue
文件中的style
标签内因为scoped
的原因,样式只对.vue
文件中的template
模板标签内的结构有效,引入的第三方vant
中的组件是无效的。
- 解决方案:
定义一个全局的样式文件,例如在src
目录中添加一个resetvant.less
文件(这里我使用的是less
文件,也可以是scss
文件或者css
文件),专门用来存放vant组件
中需要修改的样式。为了便于维护最好使用组件原有的样式类名进行样式修改。最后在main.js
文件中全局引入就可以了。
//resetvant.less文件
.homeContainer {
.van-swipe__track {
height:200px;
.van-swipe-item {
&:nth-child(1){
background-color: hotpink;
}
&:nth-child(2){
background-color: pink;
}
&:nth-child(3){
background-color: deeppink;
}
&:nth-child(4){
background-color:palevioletred;
}
}
}
}
//main.js文件
//解决vant样式无法覆盖的问题
import './css/resetvant.less'
//homeContainer.vue文件
<template>
<div class="homeContainer">
<van-swipe :autoplay="3000" indicator-color="white">
<van-swipe-item>1</van-swipe-item>
<van-swipe-item>2</van-swipe-item>
<van-swipe-item>3</van-swipe-item>
<van-swipe-item>4</van-swipe-item>
</van-swipe>
<h1>homeContainer</h1>
</div>
</template>
<script>
export default {
}
</script>
<style lang="less" scoped>
</style>
网友评论