例如 vue-cli 搭建的项目 给NavBar 导航栏 设置个蓝底白字 第一种直接在组件内 好处简单,只是其他组件需要使用还需要再复制代码,代码重复
<template>
<div class="login-container">
<van-nav-bar title="登录">
<template #left>
<img class="logo" src="@/assets/images/logo.png"/>
</template>
</van-nav-bar>
</div>
</template>
<script>
export default {
name: 'Login'
}
</script>
<style scoped lang='less'>
.logo {
width: 100px;
height: 30px;
}
.van-nav-bar{
background: #blue;
/deep/ .van-nav-bar__title{
color: white;
}
}
第二种: a:第一步
按需引入样式(推荐)
在 babel.config.js 中配置按需引入样式源文件,注意 babel6 不支持按需引入样式,请手动引入样式。
module.exports = {
plugins: [
[
'import',
{
libraryName: 'vant',
libraryDirectory: 'es',
style: (name) => `${name}/style/less`,
},
'vant',
],
],
};
b:第二步 在vue.config.js复制以下代码,没有就创建一个,记得是和src同级目录下
module.exports = {
css: {
loaderOptions: {
less: {
modifyVars: {
'nav-bar-title-text-color': '#fff',
'nav-bar-background-color': 'blue'
}
}
}
}
效果没出来的话要重启下,先打断你的终端,再yarn serve (src以外的文件修改后都要重启下服务器)
第三种 a:第一步
按需引入样式(推荐)
在 babel.config.js 中配置按需引入样式源文件,注意 babel6 不支持按需引入样式,请手动引入样式。
module.exports = {
plugins: [
[
'import',
{
libraryName: 'vant',
libraryDirectory: 'es',
style: (name) => `${name}/style/less`,
},
'vant',
],
],
};
b:第二步 在vue.config.js复制以下代码,没有就创建一个,记得是和src同级目录下 再创建一个cover.less(文件名自己取,建议建在src/assets/style/cover.less) cover.less文件代码,以后就可以把要改的样式都放这里
@nav-bar-background-color:blue;
@nav-bar-title-text-color:'#fff';
vue.config.js代码如下
const path = require('path')
module.exports = {
css: {
loaderOptions: {
less: {
modifyVars: {
hack: `true; @import "${path.resolve(__dirname, 'src/assets/styles/cover.less')}";`
}
}
}
}
}
|