vue中的el-button样式自定义方式

 更新时间:2022年07月20日 08:49:29   作者:吃不胖的猫o(=^ェ^=)m  
这篇文章主要介绍了vue中的el-button样式自定义方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

vue el-button样式自定义

按钮的三种状态

/* 更改elememt-ui地固定样式 */
/*按钮的背景颜色样式*/
.el-button--primary {
  background-color: rgb(247, 146, 146) !important;
}
/*鼠标经过*/
.el-button--primary:hover {
  background-color: rgb(178, 253, 144) !important;
}
/*鼠标按下*/
.el-button--primary:focus {
  background-color: rgb(159, 230, 240) !important;
}

还可以添加背景图片

但每一个样式后面都要添加!important即可改变按钮的默认样式

按钮的其他样式 和平时一样添加就好了

.el-button--primary {
    background-color: #105EED !important;
    color: white !important;
    font-size: 20px;
    height: 66px;
}   

用按钮切换界面

<el-button type="info" data-id="2" plain :style="{'background-color': tab == 2 ? '#839DB9' : '','color': tab == 2 ? 'white' : 'black'} " @click="tabChange">11111</el-button>
<el-button type="info" data-id="3" plain :style="{'background-color': tab == 3 ? '#839DB9' : '','color': tab == 3 ? 'white' : 'black'} " @click="tabChange">2222</el-button>
<div v-show="tab==2" class="width48"></div>
<div v-show="tab==3" class="width48"></div>
tabChange(e) {
     let tabid = e.currentTarget.dataset.id
     this.tab = tabid
 },

element button自定义图标

实现效果

如图,我想实现二维码的图片可以根据不同状态进行disabled的切换,本来是用两个img实现的,但是img还需要设置图片不可点击,虽然css使用cursor:no-drop也能实现,后来突然想到button就默认支持disabled呀,我只用把这个二维码的图片设置为button的自定义图标,我就可以使用button的disabled去控制是否可以点击了

代码实现

button的icon属性自定义一个图标名称,这个自定义的图标名称会默认添加到button下i标签的class上,我们只需要设置i标签的样式就可以了

     <el-button
       slot="reference"
       type="text"
       icon="el-icon-my-qr-code"
       :class="        //控制显示图标的颜色
         hasIncludeHttpText(row)
           ? 'qr-code-icon-default'
           : 'qr-code-icon-disabled'
       "
       :disabled="!hasIncludeHttpText(row)"   
     ></el-button>

设置样式需要注意加/deep/,因为这些样式不是在当前组件的,所以不加/deep/设置是没有用的,当然如果不加scoped就不用加/deep/了

.qr-code-icon-default {
  /deep/ .el-icon-my-qr-code {
    background: url('~@home/assets/images/qr-code-icon.svg') no-repeat;
  }
}
.qr-code-icon-disabled {
  /deep/ .el-icon-my-qr-code {
    background: url('~@home/assets/images/disabled-qr-code-icon.svg') no-repeat;
  }
}
/deep/.el-icon-my-qr-code {
  font-size: 16px;
  background-size: cover;
}
/deep/ .el-icon-my-qr-code:before {
  content: '替';
  font-size: 16px;
  visibility: hidden;
}

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 使用Vue-cli 3.0搭建Vue项目的方法

    使用Vue-cli 3.0搭建Vue项目的方法

    这篇文章主要介绍了使用Vue-cli 3.0搭建Vue项目的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-06-06
  • 详解 vue.js用法和特性

    详解 vue.js用法和特性

    Vue.js目前已经更新到2.x,功能和语法上有一定升级和修改,本文首先介绍基础内容。感兴趣的朋友一起看看吧
    2017-10-10
  • vue中v-model的应用及使用详解

    vue中v-model的应用及使用详解

    v-model用于表单数据的双向绑定,其实它就是一个语法糖。这篇文章主要介绍了vue中v-model的应用,需要的朋友可以参考下
    2018-06-06
  • 解决element ui select下拉框不回显数据问题的解决

    解决element ui select下拉框不回显数据问题的解决

    这篇文章主要介绍了解决element ui select下拉框不回显数据问题的解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-02-02
  • vue使用vue-json-viewer插件展示JSON格式数据的方法

    vue使用vue-json-viewer插件展示JSON格式数据的方法

    这篇文章主要给大家介绍了关于vue使用vue-json-viewer插件展示JSON格式数据的相关资料,前端使用这个插件可以方便展现出json格式的数据,下载引入使用代码可直接使用,需要的朋友可以参考下
    2024-05-05
  • Vue使用openlayers加载天地图

    Vue使用openlayers加载天地图

    这篇文章主要为大家详细介绍了Vue如何使用openlayers加载天地图,文中的示例代码讲解详细,具有一定的借鉴价值,感兴趣的小伙伴可以了解下
    2024-02-02
  • Element-plus使用中遇到的问题小结

    Element-plus使用中遇到的问题小结

    表格数据是websocket通信获取的数据,首次获取20条数据,以后新增订阅获取一条,新增一条则向上滑动显示最新数据,本文给大家介绍Element-plus使用中遇到的问题小结,感兴趣的朋友跟随小编一起看看吧
    2024-04-04
  • Vue-scoped(局部)样式使用方法及实例代码

    Vue-scoped(局部)样式使用方法及实例代码

    这篇文章主要介绍了Vue-scoped(局部)样式使用方法及实例代码,文中示例代码介绍了的非常详细感兴趣的同学可以参考阅读一下
    2023-05-05
  • vue3 内容过多出现滚动条时滚动条自动定位到末端的操作代码

    vue3 内容过多出现滚动条时滚动条自动定位到末端的操作代码

    这篇文章主要介绍了vue3 内容过多出现滚动条时滚动条自动定位到末端的操作代码,本文给大家介绍的非常详细,需要的朋友参考下吧
    2024-05-05
  • vue.js全局组件和局部组件示例代码

    vue.js全局组件和局部组件示例代码

    组件是Vue.js的最核心的功能,所谓的组件化就是把页面拆分成多个组件,每个组件单独使用CSS,JS,模板,图片等资源进行开发与维护,然后在制作网页的时候根据需要调用相关的组件,这篇文章主要给大家介绍了关于vue.js全局组件和局部组件的相关资料,需要的朋友可以参考下
    2022-12-12

最新评论