vux修改css樣式的2種辦法
阿新 • • 發佈:2018-11-22
最近手上有個移動端的專案。前端UI框架是選擇的VUX。但是在使用的時候經常會發現框架自帶的元件樣式和我們要求的不一致。經常需要手動覆蓋樣式。這裡記錄下我們使用的2種方法。
我們以XHeader元件為例。XHeader元件預設為藏青色。
全域性方式
找到build目錄下的webpack.base.conf在最後加入一下2行
const themeConfig={ name: 'less-theme', path: 'src/assets/less/theme.less' }; module.exports = vuxLoader.merge(webpackConfig, { plugins:['vux-ui', themeConfig] });
注意path的路徑
然後我們在theme.less裡面增加
/**
* Header
*/
@header-background-color: #3cc51f;
@header-title-color: black;
區域性方式
由於有時候我們一個介面有多個元件。樣式都不一致的時候。全域性方式就不適用了。所以我們需要採用區域性的方式。同樣還是XHeader我們這次需要把他們在同個介面把顏色修改成2種顏色可以使用/deep/ 或者>>>這裡方式來修改。
<template> <div class="wrap"> <x-header class="">XX銀行<a slot="right"></a> </x-header> <div class="wrap1"> <x-header class="">XX銀行<a slot="right"></a> </x-header> </div> <toast v-model="isToast" type="text" position="middle" :text="toastTxt" width="auto"></toast> </div> </template> <style scoped> .wrap /deep/ .vux-header { background-color: #3cc51f; } .wrap1 >>> .vux-header { background-color: red; } </style>