vue 过渡和动画

为什么要学习过渡和动画:

提高用户体验 与 页面的交互性
从而 影响用户的行为,引导用户,帮助用户看到动作行为的反馈

什么是过渡、动画

  • 过渡
    • 从一个状态向另一个状态插入值,新的状态替换了旧的状态
  • vue中提供了过渡组件 transition
    • 语法格式:
      • transition 放置需要添加过渡的元素 div
      • 使用name属性设置前缀 fade-
      • 如果没有设置name v-
      • vue 标签内部提供了三个 进入过渡 以及 3个离开过渡的类
      • 进入
        • v-enter 进入过渡的开始状态,作用于开始的一帧
        • v-enter-active 进入过渡生效时的状态,作用于整个过程
        • v-enter-to 进入过渡的结束状态,作用于结束的一帧
      • 离开
        • v-leave 离开过渡的开始状态,作用于开始的一帧
        • v-leave-active 离开过渡生效时的状态,作用于整个过程
        • v-leave-to 离开过渡的结束状态,作用于结束的一帧
    • 语法格式代码:
    <transition name="fade">
    	<!-- 添加过渡的div标签 -->
    	<div></div>	
    </transition>
    

简单的使用案例:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<style>
			.v-enter-active,.v-leave-active{
				transition: opacity 2.5s;
			}
			.v-enter,.v-leave-to{
				opacity: 0;
			}
			/*
				过渡动画的开始:
					v-enter 开始、v-enter-active 过程、v-enter-to 结束 
				过渡动画的结束:
					v-leave 开始、v-leave-active 过程、v-leave-to 结束
			*/
		</style>
	</head>
	<body>
		<!-- 视图 -->
		<div id="app">
			<button v-on:click="show = !show">toggle - 切换</button>
			<transition>
				<!-- 过渡标签 -->
				<h3 v-if="show">哈哈哈哈哈哈</h3>
			</transition>
		</div>
		<script src="./node_modules/vue/dist/vue.js" type="text/javascript" charset="utf-8"></script>
		<script type="text/javascript">
			new Vue({
				el:"#app",
				data:{
					show:true
				}
			})
		</script>
	</body>
</html>

效果就是点击内容在几秒后消失,再次点击几秒后显示

vue动画效果的实现案例:

@keyframes:定义动画关键子
scale:按括号里的值放大缩小

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<style>
			.v-enter-active {
			  animation: bounce-in .5s;
			}
			.v-leave-active {
			  animation: bounce-in .5s reverse;
			}
			/* @keyframes	定义动画关键子 */
			/* scale	按括号里的值放大缩小 */
			@keyframes bounce-in {
			  0% {
			    transform: scale(0);
				color:red;
			  }
			  50% {
			    transform: scale(1.5);
			  }
			  100% {
			    transform: scale(1);
				color: green;
			  }
			}
		</style>
	</head>
	<body>
		<!-- 视图 -->
		<div id="app">
			<button v-on:click="show = !show">toggle - 切换</button>
			<transition>
				<!-- 过渡标签 -->
				<h3 v-if="show">哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈</h3>
			</transition>
		</div>
		<script src="./node_modules/vue/dist/vue.js" type="text/javascript" charset="utf-8"></script>
		<script type="text/javascript">
			new Vue({
				el:"#app",
				data:{
					show:true
				}
			})
		</script>
	</body>
</html>

效果是点击放大后缩小,并变色,最后缩小到消失,再次点击还是放大后缩小,并变色,最后恢复到默认样式。


总结:

以上就是 vue 中的过渡和动画,不懂得也可以在评论区里问我,以后会持续发布一些新的功能,敬请关注。
我的其他文章:https://blog.csdn.net/weixin_62897746?type=blog

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

清风 与我

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值