- CSS 动画用法同 CSS 过渡,只不过采用 animation 为指定动画效果
- 功能实现:
点击按钮后, 文本内容有放大缩小效果
在 vue-02-过渡&动画和指令 目录下创建 02-动画效果.html
注意:官网上面源码有问题,要在 <p> 元素上增加样式 style="display: inline-block"
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>/*显示过程中的动画效果*/
.cyz-enter-active {
animation: bounce-in 1s;
/*bounce-in引用了下面@keyframes中定义的持续3秒*/
}
/*隐藏过程中的动画效果*/
.cyz-leave-active {
animation: bounce-in 3s reverse;
/*reverse 相反的顺序*/
}
@keyframes bounce-in {
0% {
/*持续时长的百分比,如持续1s,0%表示当0秒,50%表示当0.5秒,100%表示当1秒*/
transform: scale(0);
/*缩小为0*/
}
50% {
transform: scale(1.5);
/*放大1.5倍*/
}
100% {
transform: scale(1);
/*原始大小*/
}
}
</style>
</head>
<body><div id="demo"><button @click="show = !show">放大缩小动画</button><br><transition name="cyz"><p v-show="show" style="display: inline-block;">菜园子,陪你学习,伴你成长!</p></transition>
</div><script src="./node_modules/vue/dist/vue.js"></script><script>new Vue({
el: '#demo',
data: {
show: true
}
})
</script>
</body>
</html>
git源码地址:
https://gitee.com/cyzgw/vue_demo.git