Vue使用过渡类名实现动画和自定义前缀

1.效果演示

Vue使用过渡类名实现动画和自定义前缀-LMLPHP

2.相关代码

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script src="../js/vue-2.4.0.js"></script> <!--2.自定义两种样式 控制transition实现内部动画-->
<style>
/*[这是一个时间点]v-enter是进入前元素的起始状态 还没开始进入*/
/*[这也是一个时间点]v-leave-to是动画离开之后的终止状态,此时元素动画已经结束了*/
.v-enter,
.v-leave-to{
opacity: 0;
transform: translateX(80px);
} /*v-enter-active [入场动画的时间段]*/
/*v-leave-active [离场动画的时间段]*/
.v-enter-active,
.v-leave-active{ transition: all 0.4s ease;
} </style> </head>
<body>
<div id="app">
<input type="button" value="toggle" @click="flage=!flage">
<!--//点击h3显示 再点击隐藏--> <!--1.使用transition 元素 吧需要被动画控制的元素包裹起来-->
<transition>
<h3 v-if="flage">这是一个h3</h3>
</transition>
</div> <script> var vm = new Vue({
el: "#app",
data: {
flage: false
},
methods: {}
}) </script>
</body>
</html>

自定义前缀.my-enter-active

1.效果演示:

Vue使用过渡类名实现动画和自定义前缀-LMLPHP

2.相关代码

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script src="../js/vue-2.4.0.js"></script>
<script src="../js/vue-resource-1.3.4.js"></script>
<link rel="stylesheet" href="../bootstrap-3.3.7-dist/css/bootstrap.min.css"> <!--2.自定义两种样式 控制transition实现内部动画-->
<style>
/*[这是一个时间点]v-enter是进入前元素的起始状态 还没开始进入*/
/*[这也是一个时间点]v-leave-to是动画离开之后的终止状态,此时元素动画已经结束了*/
.v-enter,
.v-leave-to{
opacity: 0;
transform: translateX(80px);
} /*v-enter-active [入场动画的时间段]*/
/*v-leave-active [离场动画的时间段]*/
.v-enter-active,
.v-leave-active{ transition: all 0.4s ease;
} /*=============*/ .my-enter,
.my-leave-to{
opacity: 0;
transform: translateY(70px);
} .my-enter-active,
.my-leave-active{ transition: all 0.8s ease;
}
</style> </head>
<body>
<div id="app">
<input type="button" value="toggle" @click="flage=!flage">
<!--//点击h3显示 再点击隐藏-->
<!--1.使用transition 元素 吧需要被动画控制的元素包裹起来-->
<transition>
<h3 v-if="flage">这是一个H3</h3>
</transition> <hr>
<input type="button" value="toggle2" @click="flage2=!flage2">
<!--//点击h3显示 再点击隐藏-->
<!--1.使用transition 元素 吧需要被动画控制的元素包裹起来-->
<transition name="my">
<h6 v-if="flage2">这是一个H6</h6>
</transition>
</div> <script> var vm = new Vue({
el: "#app",
data: {
flage: false,
flage2: false
},
methods: {}
}) </script>
</body>
</html>
05-08 15:11