css3 animation 动画从下往上显示,从上往下隐藏

在这里插入图片描述

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no">
		<title></title>

		<style>
			* {
				margin: 0;
				padding: 0;
			}
			.gradient-wrapper {
				width: 100%;
				display: inline-block;
				background-color: red;
				height: 200px;
				position: absolute;
				bottom: 0;
			}

			.show-animate {
				animation: wrapper-gradient .25s linear;
			}
			@keyframes wrapper-gradient {
				0% {
					transform: translateY(100%);
				}
				100% {
					transform: translateY(0);
				}
			}
			.hide-animate {
				animation: hide-gradient .25s linear;
				animation-fill-mode : forwards; //  动画停留在最后一刻,也就是隐藏
			}
			@keyframes hide-gradient {
				0% {
					transform: translateY(0);
				}
				100% {
					transform: translateY(100%);
				}
			}

		</style>
	</head>
	<body>

		<div class="gradient-wrapper"></div>
		
		<div class="test">显示隐藏</div>
		
		<script src="js/jquery-1.12.4.min.js" type="text/javascript" charset="utf-8"></script>
		<script>
			$(function() {
				$('.test').on('click', function() {
					if ($('.gradient-wrapper').hasClass('show-animate')) {
						$('.gradient-wrapper').removeClass('show-animate').addClass('hide-animate');
					} else {
						$('.gradient-wrapper').removeClass('hide-animate').addClass('show-animate');
					}
				})
			});
		</script>
	</body>
</html>

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在 Vue 中实现动画可以使用 Vue 提供的 `transition` 组件,可以通过添加过渡类名来控制动画效果。 ```html <template> <transition name="fade"> <div v-if="show">Hello World</div> </transition> </template> <style> .fade-enter-active, .fade-leave-active { transition: opacity 0.5s; } .fade-enter, .fade-leave-to { opacity: 0; } </style> ``` 在上面的代码中,我们使用了 `transition` 组件包裹了一个 `div` 元素,通过 `v-if` 控制其显示隐藏。当 `div` 元素进入或离开时,会自动添加对应的过渡类名,我们可以通过这些类名来控制动画效果。 在样式中,我们定义了 `fade-enter-active` 和 `fade-leave-active` 类名,控制进入和离开的动画效果。同时,我们定义了 `fade-enter` 和 `fade-leave-to` 类名,控制进入和离开时的起始状态和结束状态。 除了使用 Vue 提供的 `transition` 组件外,还可以使用 CSS3 动画属性来实现动画效果,如 `animation` 和 `transition`。具体使用方式和上面的示例类似,只需要在样式中定义对应的动画效果。例如: ```html <template> <div v-if="show" class="fade">Hello World</div> </template> <style> .fade { animation: fade-in 0.5s ease; } @keyframes fade-in { from { opacity: 0; } to { opacity: 1; } } </style> ``` 在上面的代码中,我们定义了一个名为 `fade-in` 的动画,控制元素从透明度 0 到透明度 1 的渐变效果。在元素显示时,我们通过添加 `fade` 类名来触发动画效果。 总的来说,Vue 提供的 `transition` 组件可以方便地实现常见的动画效果,而 CSS3 动画属性则更加灵活,可以实现更加复杂的动画效果。具体使用哪种方式,可以根据实际需求和开发经验进行选择。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值