【element-ui】 steps自定义进度图标及完成等状态图标

前言

因效果需要需自定义steps图标,找了很多回答,通过摸索结合尝试,终于搞懂如何替换图标

正文

1.更换默认状态图标(不包括success和error状态)

1.1 直接添加icon属性即可(最方便)

<el-step title="竣工" class="tip five" icon="icon-jdico5"></el-steps>

注意:此处需导入icon图标
还需重写样式
我这里改了图标大小,所以对应改了top属性

.tip ::v-deep.el-step__icon.is-icon {
    border-radius: 50%;
    border: 2px solid;
    border-color: inherit;
    width: 36px;
    height: 36px;
}
::v-deep.el-step.is-horizontal .el-step__line {
    top: 17px;
}

效果如下:
在这里插入图片描述

1.2 使用插槽slot

<el-step title="预约">
	<i class="order stepIcon" slot="icon"></i>
</el-step>

此方法不如方法一方便 不再展开描述

2.更换success状态图标

有些时候我们需要自定义success状态,同步实现变色
element默认为对勾

.five ::v-deep.el-icon-success:before {
    content: '\e904';/* 注意,这里需更换为所需成功状态显示icon编码 */
}
/* 注意,以下代码需替换为自己生成icon样式!!! */
.tip ::v-deep.is-status {
    font-family: 'icomoon' !important;
    speak: never;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    font-size: 20px;

    /* Better Font Rendering =========== */
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

这里是以方法1.1为示例,需要将状态改为success

<el-step title="竣工" class="tip five" icon="icon-jdico5" status="success"></el-steps>

3.更换error状态图标(同理)

只需将类名和状态改为error即可

.five ::v-deep.el-icon-error:before {
    content: '\e904';/* 注意,这里需更换为所需成功状态显示icon编码 */
}
/* 注意,以下代码需替换为自己生成icon样式!!! */
.tip ::v-deep.is-status {
    font-family: 'icomoon' !important;
    speak: never;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    font-size: 20px;

    /* Better Font Rendering =========== */
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

这里是以方法1.1为示例,需要将状态改为error

<el-step title="竣工" class="tip five" icon="icon-jdico5" status="error"></el-steps>

4.遇到的小问题

在这里插入图片描述
这条横线在success和error状态下可能会出现中间有空白情况
问题原因:
官方是用了添加边框颜色实现
解决方法:
添加背景颜色即可

.tip ::v-deep.is-success > .el-step__line > i {
    background-color: #67c23a;
}
.tip ::v-deep.is-error > .el-step__line > i {
    background-color: #f56c6c;
}

上面是success,下面是error

如果大家有什么问题可以留言,看到会回复!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值