原因
ElementUI和Css动画相信大家都不陌生,有时候为了让页面内元素的出现和消失显得更加自然,我会给css中添加
transition: all 0.5s;
让页面的动画看起来更加自然,不过编写css的时候有时候容易翻车,就比如我,为了给页面中部分元素添加过渡动画(为了省事写在了全局样式中)导致所使用ElementUI的弹窗在关闭之后也还会闪烁一次,把对应代码去掉后UI框架的闪烁也对应消失了,但是我又不想给每个需要的元素添加多一行代码。
* {
margin: 0;
padding: 0;
transition: all 0.6s;/*罪魁祸首*/
}
解决方法
为了改变ElementUI弹窗关闭后的闪烁效果,我们首先得找到对应的class,为此安装有一个快捷截图的小应用(VX/QQ都可以),在弹窗关闭的一瞬间开启截图就可以看到对应弹窗的类名了!
这个是弹窗的类名
这个是关闭弹窗前的确认窗口的类名
作出相应修改即可
ps:两个类名中间没有空格,这是选中同一个元素
.el-dialog__wrapper.dialog-fade-leave-active,
.el-message-box__wrapper.msgbox-fade-leave-active {
transition: none;
}
相当于这个写法(似乎是需要less)
.el-dialog__wrapper{
&.dialog-fade-leave-active{
transition: none;
}
}