1.vue动画的理解
操作css的trasition或animation
vue会给目标元素添加/移动特定的class
2.基本过渡动画的编码
(1).在目标元素外包裹
(2).定义class样式
* 指定过渡样式:transition
* 指定隐藏时的样式:opacity/其他
3.过渡的类名
xxx-enter-active:指定显示的transition
xxx-leave-active:指定隐藏的transition
xxx-enter:指定隐藏时的样式
例子如下所示
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>10_过渡&动画1</title>
<style>
/*显示/隐藏的过渡效果不一样*/
.fade-enter-active,.fade-leave-active{
transition:opacity 1s;
}
/*隐藏时的样式*/
.fade-enter,.fade-leave-to{
opacity:0;
}
/*显示/隐藏的过渡效果不一样*/
.move-enter-active{
transition:all 1s
}
/*隐藏时的样式*/
.move-leave-active{
transition:all 3s
}
/*隐藏时的样式*/
.move-enter,.move-leave-to{
opacity: 0;
transform:translateX(20px);
}
</style>
</head>
<body>
<div id="text">
<button @click="isShow=!isShow">toggle</button>
<transition name="fade">
<p v-show="isShow" class="fade-enter-to">hello world</p>
</transition>
</div>
<div id="text2">
<button @click="isShow=!isShow">toggle</button>
<transition name="move">
<p v-show="isShow" class="fade-enter-to">hello world</p>
</transition>
</div>
<script type="text/javascript" src="vue.js"></script>
<script type="text/javascript">
new Vue({
el:'#text',
data(){
return{
isShow:true
}
}
})
new Vue({
el:'#text2',
data(){
return{
isShow:true
}
}
})
</script>
</body>
</html>