我的编程空间,编程开发者的网络收藏夹
学习永远不晚

如何修改vant的less样式变量

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

如何修改vant的less样式变量

修改vant的less样式变量

引入全局css

import ‘vant/lib/index.css';

引入单个组件样式

import ‘vant/lib/toast/style/less';

新建一个less文件,用于修改vant的less变量

如conver_vant.less,在里面修改变量

//toast
@toast-background-color:blue;
@action-sheet-max-height:80%!important;

在vue.config.js里按照官方提示配置

这里注意要使用绝对路径,并且@import 后面记得跟双引号""。

const path = require('path')
module.exports = {
    css:{
        loaderOptions:{
            less:{
                modifyVars:{
                    //通过本地less文件覆盖变量
                    // true; @import "your-less-file-path.less";
                    hack:`true;@import "${path.resolve(__dirname,'./class="lazy" data-src/common/cover_vant.less')}";`
                }
            }
        }
    }
}

修改完重新运行npm run serve才能看到效果。 

vant组件的样式修改

主要还是在VUE中使用vant组件,一些样式的修改。

例如

一个picker组件

这样的一个组件,我们修改他的样式,这里是我修改过后的样式,原来是白色的。

可以在app的样式中加入

.van-dropdown-menu__bar {
   background: #6609f2 !important;
   box-shadow: none !important;
 }
.van-dropdown-menu__title,
.van-dropdown-menu__title--active {
   color: #fff !important;
 }

这里类名如何得知呢?通过网页审查元素得到。

但这样修改会产生一个问题,就是这个样式成为全局的了。

别的页面使用,也会是这样一个样式。

这个时候,可以在单独页面中设置,但要注意的是把spcoed去掉,不然不生效。

<style lang='less'>
.van-dropdown-menu__bar {
  background: #6609f2 !important;
  box-shadow: none !important;
}
.van-dropdown-menu__title,
.van-dropdown-menu__title--active {
  color: #fff !important;
}
</style>

效果如图

但后来又发现又有新的问题,子组件在相同的页面,修改掉,但不能同时展现两个。

后面灵机一动,又想到了一个新的方法

html结构:

        <van-dropdown-menu class="btn">
          <van-dropdown-item v-model="valueCity" :options="optionCity" @change="changeCity" />
          <van-dropdown-item v-model="valuePrice" :options="optionPrice" @change="changeDropdown" />
          <van-dropdown-item v-model="valueYear" :options="optionYear" @change="changeYear" />
        </van-dropdown-menu>

加了一个btn 的类名:提高权限,限制样式条件

css:

<style lang="less" >
.btn > .van-dropdown-menu__bar {
  background: #fff !important;
}
.btn .van-dropdown-menu__title {
  color: #333 !important;
}
</style>

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

如何修改vant的less样式变量

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

vue怎么修改vant自带的样式

今天小编给大家分享一下vue怎么修改vant自带的样式的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。修改vant自带的样式今
2023-06-30

怎么利用CSS变量修改样式

这篇文章将为大家详细讲解有关怎么利用CSS变量修改样式,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。改变div的hover背景色