ElementUI 是一套ui组件库,目前最新版本 react 和 vue 等主流框架都有支持。该库默认主题色是天蓝色,若用于项目开发,难免遇到要需求修改其默认样式的情况,本文就基于 react 和 vue 框架介绍几种修改 ElementUI 默认样式的办法。
ElementUI下载官网:http://element.eleme.io/#/zh-CN
Vue
安装:
npm i element-ui -S
使用:
import Vue from 'vue'; import ElementUI from 'element-ui'; import 'element-ui/lib/theme-chalk/index.css'; import App from './App.vue'; Vue.use(ElementUI); new Vue({ el: '#app', render: h => h(App) });
(一)内嵌法修改样式
通过:style修改,用于局部组件块:
<el-button :style="selfstyle">默认按钮</el-button> <script> export default { data() { return { selfstyle: { color: "white", marginTop: "10px", width: "100px", backgroundColor: "cadetblue" } }; } } </script>
(二):class引用修改样式
通过:class修改,用于局部组件块:
<el-button :class="[selfbutton]">默认按钮</el-button> <script> export default { data() { return { selfbutton: "self-button" }; } } </script> <style lang="stylus" rel="stylesheet/stylus" scoped> .self-button { color: white; margin-top: 10px; width: 100px; background-Color: cadetblue; } </style>
(三)import导入修改样式
通过import导入样式文件,若在main.js中导入css 则表示全局引用。既可以用于局部组件块也可以用于全局组件:
<el-button>和下面的el-button效果一样</el-button> <el-button :class="[selfbutton]">默认按钮</el-button> <script> import './button.css' export default {} </script> <style lang="stylus" rel="stylesheet/stylus" scoped></style> /* button.css */ .el-button { color: white; margin-top: 10px; width: 100px; background-Color: cadetblue; } .self-button { color: white; margin-top: 10px; width: 100px; background-Color: cadetblue; } .self-button:hover { color: black; background-Color: whitesmoke; }
React
安装:
npm install element-react -S npm install element-theme-default -S
使用:
import React from 'react'; import ReactDOM from 'react-dom'; import { Button } from 'element-react'; import 'element-theme-default'; ReactDOM.render(<Button type="primary">Hello</Button>, document.getElementById('app'));
(一)内嵌法修改样式
import { Button } from 'element-react'; function app(){ render() { const style = { color: "white", marginTop: "10px", width: "100px", backgroundColor: "cadetblue" } return( <div> <Button style={style}>Hello</Button> </div> ); } }
(二)提升优先级修改样式
导入样式文件,通过className引用样式,样式文件中需要使用!import提高优先级,否则无效。
import '../style/button.css' import { Button } from 'element-react'; function App(){ render() { return( <div> <Button>和下面的Button效果一样</Button> <Button className="self-button">Hello</Button> </div> ); } } /* button.css */ .el-button { color: white!important; margin-top: 10px!important; width: 100px!important; background-Color: cadetblue!important; } .self-button { color: white!important; margin-top: 10px!important; width: 100px!important; background-Color: cadetblue!important; } .self-button:hover { color: black!important; background-Color: whitesmoke!important; }