elementUI 弹窗组件全局和局部 弹入弹出动画效果实现

Posted hlq-home

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了elementUI 弹窗组件全局和局部 弹入弹出动画效果实现相关的知识,希望对你有一定的参考价值。

前言:element  <el-dialog> 标签有自带的动画效果,要想自定义动画效果,需要覆盖自带效果,分为两类:

1.全局设置

如要设置左侧或上下弹出,只需全局样式 处粘贴如下代码:

@keyframes dialog-fade-in
  0%
    transform: translate3d(100%,0 , 0);
    opacity: 0;
  
  100%
    transform: translate3d(0, 0, 0);
    opacity: 1;
  

@keyframes dialog-fade-out
  0%
    transform: translate3d(0, 0, 0);
    opacity: 1;
  
  100%

    transform: translate3d(100%,0 , 0);

  opacity: 0;
  

其中 translate3d(x,y,z) 我这是修改的x(第一位)的值100%到0的切换,如果想实现上下弹出,只需修改y处(第二位)的值

2.局部设置

<el-dialog custom-class="way" >  标签上添加  custom-class=“自定义类名” ,然后通过自定义类名设置指定弹窗的动画效果

,然后全局样式处粘贴代码如下:

.el-dialog__wrapper 
transition-duration: .3s;

.dialog-fade-enter-active
animation: none !important;

.dialog-fade-leave-active
transition-duration: .2s !important;
animation: none !important;


.dialog-fade-enter-active .el-dialog.way
animation: anim-open .3s;

.dialog-fade-leave-active .el-dialog.way
animation: anim-close .3s;

@keyframes anim-open
0%
transform: translate3d(100%, 0, 0);
opacity: 0;

100%
transform: translate3d(0, 0, 0);
opacity: 1;


@keyframes anim-close
0%
transform: translate3d(0, 0, 0);
opacity: 1;

100%
transform: translate3d(100%, 0, 0);
opacity: 0;

以上是关于elementUI 弹窗组件全局和局部 弹入弹出动画效果实现的主要内容,如果未能解决你的问题,请参考以下文章

VUE弹窗动画-从下到上弹出,从中间展开等

vue + elementui 中的弹窗组件封装成公共组件

vue + elementui 中的弹窗组件封装成公共组件

vue+elementUI 实现设置还款日字母弹窗组件

vue +element 封装一个选人弹窗

element-ui dialog设置为点击弹窗以外的区域不关闭弹窗