<template>
<!-- @mouseenter="startAnimation" 表示在鼠标进入元素时触发 startAnimation 方法。
@mouseleave="stopAnimation" 表示在鼠标离开元素时触发 stopAnimation 方法。 -->
<!-- 容器元素 -->
<div class="container" @mouseenter="startAnimation" @mouseleave="stopAnimation">
<!-- 方块 -->
<div class="box" :class="{ 'animate': isAnimating }">
<!-- 元素内容 -->
</div>
</div>
</template>
<script setup>
import {
ref
} from 'vue';
const isAnimating = ref(false); // 控制是否应用动画的响应式状态
function startAnimation() {
// 鼠标进入容器时,启动动画
isAnimating.value = true;
}
function stopAnimation() {
// 鼠标离开容器时,停止动画
isAnimating.value = false;
}
</script>
<style>
.container {
/* 定义容器宽度和高度 */
width: 100px;
height: 100px;
margin-top: 50px;
margin-left: 40%;
}
.box {
/* 定义方块宽度和高度 */
width: 100px;
height: 100px;
background-color: blue;
/* 定义过渡效果 */
transition: transform 0.5s;
}
/* 应用动画类 */
.box.animate {
-webkit-animation: scale-down-center 0.4s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
animation: scale-down-center 0.4s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
}
/* 定义动画 */
@-webkit-keyframes scale-down-center {
0% {
-webkit-transform: scale(1);
transform: scale(1);
}
100% {
-webkit-transform: scale(0.5);
transform: scale(0.5);
}
}
@keyframes scale-down-center {
0% {
-webkit-transform: scale(1);
transform: scale(1);
}
100% {
-webkit-transform: scale(0.5);
transform: scale(0.5);
}
}
</style>
CSS 缩减中心动画
特创数字科技2023-12-30 10:23
相关推荐
程序员爱技术1 小时前
Vue 2 + JavaScript + vue-count-to 集成案例并不会2 小时前
常见 CSS 选择器用法悦涵仙子2 小时前
CSS中的变量应用——:root,Sass变量,JavaScript中使用Sass变量衣乌安、2 小时前
【CSS】居中样式兔老大的胡萝卜2 小时前
ppk谈JavaScript,悟透JavaScript,精通CSS高级Web,JavaScript DOM编程艺术,高性能JavaScript pdf低代码布道师2 小时前
CSS的三个重点耶啵奶膘4 小时前
uniapp-是否删除王哈哈^_^5 小时前
【数据集】【YOLO】【目标检测】交通事故识别数据集 8939 张,YOLO道路事故目标检测实战训练教程!cs_dn_Jie6 小时前
钉钉 H5 微应用 手机端调试开心工作室_kaic6 小时前
ssm068海鲜自助餐厅系统+vue(论文+源码)_kaic