vue中的css动画(过渡动画)使用步骤和原理

简介: vue中的css动画(过渡动画)使用步骤和原理

1.vue的css动画的使用步骤是什么?


以元素过渡隐藏和显示为例,css使用步骤下图

1dc618a0ed9580ce8bfa6facb208c08f.png5d4c6812c8535adbb050f4ddf2e1bce8.png


这样就可显示动画了。


2.vue的css动画原理是什么?


答: 当一个元素被transition包裹之后,vue会自动的分析元素的css样式,然后构建一个动画的流程。


流程分2块,一块是元素显示的流程,一块是元素隐藏的流程。


显示流程:


46a9d80a6e05e4e3b19d57a0ee70bcdf.png


显示动画执行的瞬间,会在第一帧增加2个属性的名字: fade-enter和fade-enter-active。


当第一帧执行过后,vue会把之前添加的fade-enter这个class去掉,然后再增加一个fade-enter-to这样一个class的名字,接着动画继续执行。


执行的结束的这一瞬间,vue会吧fade-enter-active和fade-enter-to这2个class属性移除除掉。


那么我们通过自定义vue的这几个css样式,就可以实现我们想要的效果了。


代码演示如下:

1dc618a0ed9580ce8bfa6facb208c08f.png


这样,div在显示的时候就有过渡的效果啦。


注意:


所有的样式都以fade开头是因为:

5d4c6812c8535adbb050f4ddf2e1bce8.png


隐藏流程


46a9d80a6e05e4e3b19d57a0ee70bcdf.png


隐藏动画执行的瞬间,会在第一帧增加2个属性的名字: fade-leave和fade-leave-active。


当第一帧执行过后,vue会把之前添加的fade-leave这个class去掉,然后再增加一个fade-leave-to这样一个class的名字,接着动画继续执行。


执行的结束的这一瞬间,vue会吧fade-leave-active和fade-leave-to这2个class属性移除除掉。


代码示例如下:

66ba272a0bfc97be54a5fa679e3d5482.png

显示流程和隐藏流程合起来写就是如下的代码:

1dc618a0ed9580ce8bfa6facb208c08f.png


另外,vue的css动画效果,也叫vue的过渡动画效果。


相关文章
|
6天前
|
前端开发
css 实现一笔画动画(如签名、手写、手绘等)
css 实现一笔画动画(如签名、手写、手绘等)
13 8
|
5天前
|
前端开发
css动画(仿微信聊天页面)
css动画(仿微信聊天页面)
|
6天前
|
JavaScript 前端开发 容器
vue组件封装——固定宽高比的容器(2种方法:纯CSS实现 + JS实现)
vue组件封装——固定宽高比的容器(2种方法:纯CSS实现 + JS实现)
9 2
|
2天前
|
前端开发 JavaScript
CSS【实战】抽屉动画
CSS【实战】抽屉动画
2 0
|
6天前
|
前端开发 JavaScript
vue实战范例——箭头步骤条/导航(含css 斜切skew的妙用)
vue实战范例——箭头步骤条/导航(含css 斜切skew的妙用)
11 0
|
6天前
|
前端开发
css特效动画——转圈的加载动画
css特效动画——转圈的加载动画
7 0
|
2天前
|
数据采集 JavaScript 前端开发
Vue框架的优缺点是什么
【7月更文挑战第5天】 Vue框架:组件化开发利于重用与扩展,响应式数据绑定简化状态管理;学习曲线平缓,生态系统丰富,集成便捷,且具性能优化手段。缺点包括社区规模相对小,类型支持不足(Vue 3.x改善),路由和状态管理需额外配置,SEO支持有限。随着发展,部分缺点正被克服。
8 1
|
3天前
|
JavaScript
Vue卸载eslint的写法,单独安装eslint,单独卸载eslint
Vue卸载eslint的写法,单独安装eslint,单独卸载eslint
|
3天前
|
JavaScript
青戈大佬安装Vue,无Eslint安装版,vue2安装,vue2无eslint,最简单配置Vue安装资料
青戈大佬安装Vue,无Eslint安装版,vue2安装,vue2无eslint,最简单配置Vue安装资料
|
3天前
|
JavaScript
This dependency was not found:* vue/types/umd in ./src/router/index.jsTo install it, you can run
This dependency was not found:* vue/types/umd in ./src/router/index.jsTo install it, you can run
This dependency was not found:* vue/types/umd in ./src/router/index.jsTo install it, you can run