zoukankan      html  css  js  c++  java
  • Vue的elementUI实现自定义主题

    <div>
    <el-button>默认按钮</el-button>
    <el-button type="primary">主要按钮</el-button>
    <el-button type="success">成功按钮</el-button>
    <el-button type="info">信息按钮</el-button>
    <el-button type="warning">警告按钮</el-button>
    <el-button type="danger">危险按钮</el-button>
    </div>

    Vue的elementUI实现自定义主题

    使用vue开发项目,用到elementUI,根据官网的写法,我们可以自定义主题来适应我们的项目要求,下面来介绍一下两种方法实现的具体步骤,(可以参考官方文档自定义主题官方文档),先说项目中没有使用scss编写,用主题工具的方法(使用的较多)
    第一种方法:使用命令行主题工具
    使用vue-cli安装完项目并引入element-ui(具体可参考第二种方法中的介绍)
    一、安装工具
    1,安装主题工具
    npm i element-theme -g1
    2,安装chalk主题,可以从 npm 安装或者从 GitHub 拉取最新代码
    # 从 npm
    npm i element-theme-chalk -D

    # 从 GitHub
    npm i https://github.com/ElementUI/theme-chalk -D12345
    二、初始化变量文件
    et -i [可以自定义变量文件,默认为element-variables.scss]

    > ✔ Generator variables file123
    这时根目录下会产生element-variables.scss(或自定义的文件),大致如下:
    $--color-primary: #409EFF !default;
    $--color-primary-light-1: mix($--color-white, $--color-primary, 10%) !default; /* 53a8ff */
    $--color-primary-light-2: mix($--color-white, $--color-primary, 20%) !default; /* 66b1ff */
    $--color-primary-light-3: mix($--color-white, $--color-primary, 30%) !default; /* 79bbff */
    $--color-primary-light-4: mix($--color-white, $--color-primary, 40%) !default; /* 8cc5ff */
    $--color-primary-light-5: mix($--color-white, $--color-primary, 50%) !default; /* a0cfff */
    $--color-primary-light-6: mix($--color-white, $--color-primary, 60%) !default; /* b3d8ff */
    $--color-primary-light-7: mix($--color-white, $--color-primary, 70%) !default; /* c6e2ff */
    $--color-primary-light-8: mix($--color-white, $--color-primary, 80%) !default; /* d9ecff */
    $--color-primary-light-9: mix($--color-white, $--color-primary, 90%) !default; /* ecf5ff */

    $--color-success: #67c23a !default;
    $--color-warning: #eb9e05 !default;
    $--color-danger: #fa5555 !default;
    $--color-info: #878d99 !default;

    ...1234567891011121314151617
    三、修改变量
    直接编辑 element-variables.scss 文件,例如修改主题色为自己所需要的颜色(如: 紫色(purple))
    $--color-primary: purple;1
    四、编译主题
    修改完变量后,要编译主题(如果编译后,再次修改了变量,需要重新编译)
    et

    > ✔ build theme font
    > ✔ build element theme1234
    五、引入自定义主题
    最后一步,将编译好的主题文件引入项目(编译的文件默认在根目录下的theme文件下,也可以通过 -o 参数指定打包目录),在入口文件main.js中引入
    import '../theme/index.css'
    import ElementUI from 'element-ui'
    import Vue from 'vue'

    Vue.use(ElementUI)12345
    在项目中写些样式,看下主题色是否改变:(主题色变为紫色)
    <div>
    <el-button>默认按钮</el-button>
    <el-button type="primary">主要按钮</el-button>
    <el-button type="success">成功按钮</el-button>
    <el-button type="info">信息按钮</el-button>
    <el-button type="warning">警告按钮</el-button>
    <el-button type="danger">危险按钮</el-button>
    </div>12345678
    第二种方法: 直接修改element样式变量
    在项目中直接修改element的样式变量,(前提是你的文档也是使用scss编写)
    一、首先用vue-cli安装一个新项目:
    1,安装vue:
    npm i -g vue1
    2,在项目目录下安装vue-cli:
    npm i -g vue-cli1
    3,基于webpack建立新项目( vue-project)
    vue init webpack vue-project1
    4,依次输入以下命令行,运行vue-project
    cd vue-project
    npm i
    npm run dev123
    二、安装elementUI以及sass-loader,node-sass(项目中使用scss编写需要依赖的插件)
    1,安装element-ui
    npm i element-ui -S1
    2,安装sass-loader,node-sass
    npm i sass-loader node-sass -D1
    在这里说一下,不需要配置webpack.base.conf.js文件,vue-loader会根据不同类型文件来配置相应loader来打包我们的样式文件(感兴趣的可看下vue-loader的核心代码)
    三、改变element样式变量
    1.在src下建立element-variables.scss文件(名字可以自定义),写入如下代码:
    /* 改变主题色变量 */
    $--color-primary: teal;

    /* 改变 icon 字体路径变量,必需 */
    $--font-path: '../node_modules/element-ui/lib/theme-chalk/fonts';

    @import "../node_modules/element-ui/packages/theme-chalk/src/index";1234567
    2.在入口文件main.js中引入上面的文件即可
    import Vue from 'vue'
    import Element from 'element-ui'
    import './element-variables.scss'

    Vue.use(Element)12345
    看下效果吧,在文件里引入些样式看看,如button
    <div>
    <el-button>默认按钮</el-button>
    <el-button type="primary">主要按钮</el-button>
    <el-button type="success">成功按钮</el-button>
    <el-button type="info">信息按钮</el-button>
    <el-button type="warning">警告按钮</el-button>
    <el-button type="danger">危险按钮</el-button>
    </div>12345678
    默认的颜色已经变为我们自定义的了,有其他的改变在element-variable.scss文件中改变变量即可
    ————————————————
    版权声明:本文为CSDN博主「wangcuiling_123」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/wangcuiling_123/article/details/78513245

  • 相关阅读:
    阿里前端测试题--关于ES6中Promise函数的理解与应用
    elementUI之switch应用的坑
    vue函数同步执行遇到的问题
    阻止事件冒泡,阻止默认事件,event.stopPropagation()和event.preventDefault(),return false的区别
    关于Echarts的原生js获取DOM元素与动态加载DOM元素的冲突问题
    Linux 18.04 非root 安装re2c和ninja
    《Deep Learning of Graph Matching》论文阅读
    读书笔记《程序员的数学:概率统计》
    为什么要找特征向量?
    c++ 初始化
  • 原文地址:https://www.cnblogs.com/xingkongzhizhu/p/14517756.html
Copyright © 2011-2022 走看看