溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Vant主題定制怎么修改顏色樣式

發(fā)布時(shí)間:2022-04-26 10:48:04 來源:億速云 閱讀:863 作者:iii 欄目:開發(fā)技術(shù)

這篇文章主要講解了“Vant主題定制怎么修改顏色樣式”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“Vant主題定制怎么修改顏色樣式”吧!

Vant主題定制修改顏色

使用場(chǎng)景

需要修改vant組件的顏色或其他的樣式時(shí),可以用以下方法進(jìn)行自定義修改。

Vant主題定制怎么修改顏色樣式

一個(gè)簡(jiǎn)單的效果:

Vant主題定制怎么修改顏色樣式

第一種:完全替換主題色或其他樣式

用Vant官方提供的方法進(jìn)行定制:

1.main.js引入樣式原文件

// 引入全部樣式
import 'vant/lib/index.less';
// 引入單個(gè)組件樣式
import 'vant/lib/button/style/less';

2.創(chuàng)建less文件

Vant主題定制怎么修改顏色樣式

3.修改配置

用vue-cli搭建的可以直接在vue.config.js中更改配置:

const path = require("path");
//less文件的路徑
const myTheme = path.resolve(__dirname, "./src/assets/less/vantChange.less");
module.exports = {
    css: {
        loaderOptions: {
            less: {
                modifyVars: {
                    hack: `true; @import "${myTheme}";`
                }
            },
        }
    },
}

4.修改樣式

參考官網(wǎng)提供的樣式變量

Vant主題定制怎么修改顏色樣式

Vant主題定制怎么修改顏色樣式

第二種:直接覆蓋樣式

1.找到class類名

在控制臺(tái)選中元素,獲取class類名,雙擊選中復(fù)制

Vant主題定制怎么修改顏色樣式

2.修改樣式

<style lang="less" scoped>
.van-sidebar-item--select::before{
  background-color:#CCCCFF;
}
.van-sidebar-item--select, .van-sidebar-item--select:active{
  background-color:#FFCCCC;
  color:white;
}
</style>

Vant自定義主題顏色

先看效果圖

修改前:

Vant主題定制怎么修改顏色樣式

修改后

// less文件代碼 @white: #000;

Vant主題定制怎么修改顏色樣式

步驟方法

1、 在main.js 中引入

import 'vant/lib/index.less';

2、新建less 文件,用來覆蓋修改 框架里的顏色

Vant主題定制怎么修改顏色樣式

3、安裝less和 less-loader, less-loader徐、需安裝5.0.0版本

npm install less --save-dev
npm install less less-loader@5.0.0 --save-dev

4、在vue.config.js 文件中添加以代碼

// 需要放在module.exports對(duì)象里
  chainWebpack: config => {
    const types = ['vue-modules', 'vue', 'normal-modules', 'normal']
    types.forEach(type => addStyleResource(config.module.rule('less').oneOf(type)))
  },
// 此函數(shù)為方法體,需放在對(duì)象的外面
function addStyleResource(rule) {
  rule.use('style-resource')
    .loader('style-resources-loader')
    .options({
      patterns: [
        path.resolve(__dirname, './src/assets/less/vant.less'), // 需要全局導(dǎo)入的less
      ],
    })
}

完整的代碼為:

	function addStyleResource(rule) {
	  rule.use('style-resource')
	    .loader('style-resources-loader')
	    .options({
	      patterns: [
	        path.resolve(__dirname, './src/assets/less/vant.less'), // 需要全局導(dǎo)入的less
	      ],
	    })
	}
  module.exports = {
  
	  css: {
	    extract: IS_PROD, // 是否將組件中的 CSS 提取至一個(gè)獨(dú)立的 CSS 文件中 (而不是動(dòng)態(tài)注入到 JavaScript 中的 inline 代碼)。
	    sourceMap: false,
	    loaderOptions: {
	      // less加載器
	      less: {
	        javascriptEnabled: true,
	        modifyVars: {
	          // 直接覆蓋變量
	          // 'text-color': 'red',
	          // 或者可以通過 less 文件覆蓋(文件路徑為絕對(duì)路徑)
	          'hack': `true; @import "${resolve('./src/assets/less/vant.less')}";`
	        }
	      },
	      scss: {
	        // 向全局sass樣式傳入共享的全局變量, $src可以配置圖片cdn前綴
	        // 詳情: https://cli.vuejs.org/guide/css.html#passing-options-to-pre-processor-loaders
	        // prependData: `
	        //   @import "assets/css/mixin.scss";
	        //   @import "assets/css/variables.scss";
	        //   $cdn: "${defaultSettings.$cdn}";
	        //   `
	      }
	    }
	  },
	  // 對(duì)象參數(shù)
	  chainWebpack: config => {
	    const types = ['vue-modules', 'vue', 'normal-modules', 'normal']
	    types.forEach(type => addStyleResource(config.module.rule('less').oneOf(type)))
	  }
}

感謝各位的閱讀,以上就是“Vant主題定制怎么修改顏色樣式”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對(duì)Vant主題定制怎么修改顏色樣式這一問題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是億速云,小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI