vue版本信息:2.5.2
问题起源于使用Vue做网站时涉及到的一个小部件显示动画,阅读了Vue的文档后结合网上各位的经验,花了点时间研究了下。
最终的效果如上图所示,当鼠标移入灰色方块时弹出层会至上而下显示出来,类似于 拉链式窗帘("color: #ff0000">实例实现上图所示的效果代码如下:<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>transition</title> <script src="/UploadFiles/2021-04-02/vue.min.js">transition的使用
以上为各类状态/过程对应的类名示意图。1.没有名字的transition组件
<transition> <div> ...... </div> </transition> <style> .v-enter, .v-leave-to { ...... } .v-leave, .v-enter-to { ...... } ...... </style>2.有名字的transition组件
如下代码,该transition组件的name
属性为fade,那么应设置的动画类名为fade-enter
,其他的类名也是如此。<transition name="fade"> <div> ...... </div> </transition> <style> .fade-enter, .fade-leave-to { ...... } .fade-leave, .fade-enter-to { ...... } ...... </style>3.自定义过渡类名
<transition name="show" enter-class="show-enter" enter-active-class="animation fly" leave-active-class="xxx" ...... > <div> ...... </div> </transition> <style> .show-enter { ...... } .animation { ...... } .fly { ...... } ...... </style>4.自定义钩子函数
<transition v-on:enter="enter" v-on:after-enter="after" v-on:leave="leave" ...... > <div> ...... </div> </transition>methods: { enter: function (el) { ...... }, after: function (el) { ...... }, ...... }官方文档中的用法不止这几种,这里只例举了几种简单常用的。源码在此