问题点: element的 button按钮在和弹窗组件关联使用的时候,关闭弹窗,button按钮的hover状态不会恢复过来。
解决方案: 如下代码,引入到main.js中。使用版本: "element-plus": "^2.3.12"
// 按钮样式点击重置
.el-button.el-button--primary:not(.is-disabled):focus {
color: var(--el-color-white) !important;
background-color: var(--el-color-primary);
border-color: var(--el-color-primary);
}
.el-button.el-button--primary:not(.is-disabled):hover {
color: var(--el-color-white) !important;
background-color: var(--el-color-primary-light-3);
border-color: var(--el-color-primary-light-3);
}
.el-button.el-button--success:not(.is-disabled):focus {
color: var(--el-color-white) !important;
background-color: var(--el-color-success);
border-color: var(--el-color-success);
}
.el-button.el-button--success:not(.is-disabled):hover {
color: var(--el-color-white) !important;
background-color: var(--el-color-success-light-3);
border-color: var(--el-color-success-light-3);
}
.el-button.el-button--info:not(.is-disabled):focus {
color: var(--el-color-white) !important;
background-color: var(--el-color-info);
border-color: var(--el-color-info);
}
.el-button.el-button--info:not(.is-disabled):hover {
color: var(--el-color-white) !important;
background-color: var(--el-color-info-light-3);
border-color: var(--el-color-info-light-3);
}
.el-button.el-button--warning:not(.is-disabled):focus {
color: var(--el-color-white) !important;
background-color: var(--el-color-warning);
border-color: var(--el-color-warning);
}
.el-button.el-button--warning:not(.is-disabled):hover {
color: var(--el-color-white) !important;
background-color: var(--el-color-warning-light-3);
border-color: var(--el-color-warning-light-3);
}
.el-button.el-button--danger:not(.is-disabled):focus {
color: var(--el-color-white) !important;
background-color: var(--el-color-danger);
border-color: var(--el-color-danger);
}
.el-button.el-button--danger:not(.is-disabled):hover {
color: var(--el-color-white) !important;
background-color: var(--el-color-danger-light-3);
border-color: var(--el-color-danger-light-3);
}
// 朴素按钮失焦
.el-button.el-button--primary.is-plain:not(.is-disabled):focus {
color: var(--el-color-primary) !important;
background-color: var(--el-color-primary-light-9);
border-color: var(--el-color-primary-light-5);
}
.el-button.el-button--primary.is-plain:not(.is-disabled):hover {
color: var(--el-color-white) !important;
background-color: var(--el-color-primary);
border-color: var(--el-color-primary);
}
.el-button.el-button--success.is-plain:not(.is-disabled):focus {
color: var(--el-color-success) !important;
background-color: var(--el-color-success-light-9);
border-color: var(--el-color-success-light-5);
}
.el-button.el-button--success.is-plain:not(.is-disabled):hover {
color: var(--el-color-white) !important;
background-color: var(--el-color-success);
border-color: var(--el-color-success);
}
.el-button.el-button--info.is-plain:not(.is-disabled):focus {
color: var(--el-color-info) !important;
background-color: var(--el-color-info-light-9);
border-color: var(--el-color-info-light-5);
}
.el-button.el-button--info.is-plain:not(.is-disabled):hover {
color: var(--el-color-white) !important;
background-color: var(--el-color-info);
border-color: var(--el-color-info);
}
.el-button.el-button--warning.is-plain:not(.is-disabled):focus {
color: var(--el-color-warning) !important;
background-color: var(--el-color-warning-light-9);
border-color: var(--el-color-warning-light-5);
}
.el-button.el-button--warning.is-plain:not(.is-disabled):hover {
color: var(--el-color-white) !important;
background-color: var(--el-color-warning);
border-color: var(--el-color-warning);
}
.el-button.el-button--danger.is-plain:not(.is-disabled):focus {
color: var(--el-color-danger) !important;
background-color: var(--el-color-danger-light-9);
border-color: var(--el-color-danger-light-5);
}
.el-button.el-button--danger.is-plain:not(.is-disabled):hover {
color: var(--el-color-white) !important;
background-color: var(--el-color-danger);
border-color: var(--el-color-danger);
}
// 文字按钮失焦
.el-button.el-button--primary.is-text:not(.is-disabled):focus {
color: var(--el-color-primary) !important;
background-color: var(--el-color-white);
}
.el-button.el-button--primary.is-text:not(.is-disabled):hover {
color: var(--el-color-primary) !important;
background-color: var(--el-color-primary-light-9);
border-color: var(--el-color-primary-light-5);
}
.el-button.el-button--success.is-text:not(.is-disabled):focus {
color: var(--el-color-success) !important;
background-color: var(--el-color-white);
}
.el-button.el-button--success.is-text:not(.is-disabled):hover {
color: var(--el-color-success) !important;
background-color: var(--el-color-success-light-9);
border-color: var(--el-color-success-light-5);
}
.el-button.el-button--info.is-text:not(.is-disabled):focus {
color: var(--el-color-info) !important;
background-color: var(--el-color-white);
}
.el-button.el-button--info.is-text:not(.is-disabled):hover {
color: var(--el-color-info) !important;
background-color: var(--el-color-info-light-9);
border-color: var(--el-color-info-light-5);
}
.el-button.el-button--warning.is-text:not(.is-disabled):focus {
color: var(--el-color-warning) !important;
background-color: var(--el-color-white);
}
.el-button.el-button--warning.is-text:not(.is-disabled):hover {
color: var(--el-color-warning) !important;
background-color: var(--el-color-warning-light-9);
border-color: var(--el-color-warning-light-5);
}
.el-button.el-button--danger.is-text:not(.is-disabled):focus {
color: var(--el-color-danger) !important;
background-color: var(--el-color-white);
}
.el-button.el-button--danger.is-text:not(.is-disabled):hover {
color: var(--el-color-danger) !important;
background-color: var(--el-color-danger-light-9);
border-color: var(--el-color-danger-light-5);
}
//修复按钮边框闪烁
.el-button.is-link{
border: none!important
}
// 链接按钮失焦
.el-button.el-button--primary.is-link:not(.is-disabled):focus {
color: var(--el-color-primary) !important;
border: none;
background: none;
}
.el-button.el-button--primary.is-link:not(.is-disabled):hover {
color: var(--el-color-primary-light-5) !important;
}
.el-button.el-button--success.is-link:not(.is-disabled):focus {
color: var(--el-color-success) !important;
}
.el-button.el-button--success.is-link:not(.is-disabled):hover {
color: var(--el-color-success-light-5) !important;
}
.el-button.el-button--info.is-link:not(.is-disabled):focus {
color: var(--el-color-info) !important;
}
.el-button.el-button--info.is-link:not(.is-disabled):hover {
color: var(--el-color-info-light-5) !important;
}
.el-button.el-button--warning.is-link:not(.is-disabled):focus {
color: var(--el-color-warning) !important;
}
.el-button.el-button--warning.is-link:not(.is-disabled):hover {
color: var(--el-color-warning-light-5) !important;
}
.el-button.el-button--danger.is-link:not(.is-disabled):focus {
color: var(--el-color-danger) !important;
background-color: inherit!important;
border: none!important;
}
.el-button.el-button--danger.is-link:not(.is-disabled):hover {
color: var(--el-color-danger-light-5) !important;
}