如何修改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,'./src/common/cover_vant.less')}";`
? ? ? ? ? ? ? ? }
? ? ? ? ? ? }
? ? ? ? }
? ? }
}修改完重新運行npm run serve才能看到效果。
vant組件的樣式修改
主要還是在VUE中使用vant組件,一些樣式的修改。
例如

這樣的一個組件,我們修改他的樣式,這里是我修改過后的樣式,原來是白色的。
可以在app的樣式中加入
.van-dropdown-menu__bar {
background: #6609f2 !important;
box-shadow: none !important;
}
.van-dropdown-menu__title,
.van-dropdown-menu__title--active {
color: #fff !important;
}
這里類名如何得知呢?通過網(wǎng)頁審查元素得到。
但這樣修改會產(chǎn)生一個問題,就是這個樣式成為全局的了。
別的頁面使用,也會是這樣一個樣式。
這個時候,可以在單獨頁面中設(shè)置,但要注意的是把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>
效果如圖


但后來又發(fā)現(xiàn)又有新的問題,子組件在相同的頁面,修改掉,但不能同時展現(xiàn)兩個。
后面靈機一動,又想到了一個新的方法
html結(jié)構(gòu):
<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 的類名:提高權(quán)限,限制樣式條件
css:
<style lang="less" >
.btn > .van-dropdown-menu__bar {
background: #fff !important;
}
.btn .van-dropdown-menu__title {
color: #333 !important;
}
</style>
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
vue用ant design中table表格,點擊某行時觸發(fā)的事件操作
這篇文章主要介紹了vue用ant design中table表格,點擊某行時觸發(fā)的事件操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-10-10
使用Vue3新特性構(gòu)建動態(tài)表單的方法詳解
傳統(tǒng)的表單開發(fā)通常需要編寫大量的重復代碼,例如處理用戶輸入、驗證數(shù)據(jù)、更新 UI 等等,為了簡化開發(fā),我們可以借助 Vue 3 的新特性,例如組合式 API 和 ref 對象,所以本文我們將一起學習如何使用 Vue 3 的新特性構(gòu)建一個更加靈活、可擴展的動態(tài)表單2024-06-06
vue3如何添加eslint校驗(eslint-plugin-vue)
這篇文章主要介紹了vue3如何添加eslint校驗(eslint-plugin-vue),具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-01-01

