…">
当前位置:首页 > CSS

css制作动态青蛙

2026-04-02 15:24:24CSS

使用CSS动画制作动态青蛙

通过CSS的@keyframestransform属性可以创建青蛙跳跃或眨眼的动画效果。以下是一个完整的实现示例:

<div class="frog">
  <div class="head">
    <div class="eye left"></div>
    <div class="eye right"></div>
  </div>
  <div class="body"></div>
</div>
.frog {
  position: relative;
  width: 200px;
  height: 150px;
  animation: jump 2s infinite;
}

.head {
  position: absolute;
  width: 100px;
  height: 80px;
  background: #7cba6d;
  border-radius: 50%;
  top: 0;
  left: 50px;
}

.body {
  position: absolute;
  width: 150px;
  height: 100px;
  background: #7cba6d;
  border-radius: 50% 50% 40% 40%;
  bottom: 0;
  left: 25px;
}

.eye {
  position: absolute;
  width: 20px;
  height: 30px;
  background: white;
  border-radius: 50%;
  top: 20px;
}

.eye.left {
  left: 20px;
}

.eye.right {
  right: 20px;
}

.eye::after {
  content: '';
  position: absolute;
  width: 10px;
  height: 10px;
  background: black;
  border-radius: 50%;
  bottom: 5px;
  left: 5px;
  animation: blink 3s infinite;
}

@keyframes jump {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-50px); }
}

@keyframes blink {
  0%, 48%, 52%, 100% { transform: scaleY(1); }
  50% { transform: scaleY(0.1); }
}

添加舌头动画效果

为青蛙添加可伸缩的舌头效果:

.tongue {
  position: absolute;
  width: 5px;
  height: 0;
  background: #ff6b6b;
  border-radius: 0 0 5px 5px;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
  animation: flick 4s infinite;
}

@keyframes flick {
  0%, 80% { height: 0; }
  85%, 95% { height: 40px; }
}

响应式交互效果

添加鼠标悬停时青蛙变色的效果:

.frog:hover {
  filter: hue-rotate(30deg);
}

.frog:hover .tongue {
  animation: flick 1s infinite;
}

使用CSS变量控制颜色

通过CSS变量方便调整青蛙主题色:

:root {
  --frog-green: #7cba6d;
  --frog-dark: #5a8a4e;
}

.frog {
  --current-color: var(--frog-green);
}

.frog:hover {
  --current-color: var(--frog-dark);
}

性能优化技巧

使用will-change属性提前告知浏览器哪些属性会变化:

css制作动态青蛙

.frog {
  will-change: transform;
}

.eye::after {
  will-change: transform;
}

这些代码组合起来可以创建一个活泼的CSS青蛙动画,包含跳跃、眨眼和伸缩舌头等效果。通过调整关键帧时间和变换属性,可以控制动画的节奏和幅度。

标签: 青蛙动态
分享给朋友:

相关文章

vue 实现动态表单

vue 实现动态表单

Vue 实现动态表单的方法 动态表单通常指表单字段可以动态增减或根据条件变化。以下是几种实现方式: 使用 v-for 动态渲染表单字段 通过数组存储表单字段数据,利用 v-for 动态渲染:…

vue实现动态columns

vue实现动态columns

Vue 实现动态 columns 的方法 使用 v-for 动态渲染表格列 通过 v-for 指令可以动态渲染表格的列,columns 数据可以来自组件的 props 或 data。 <tem…

vue 实现动态表格

vue 实现动态表格

实现动态表格的基本思路 在Vue中实现动态表格通常涉及以下核心逻辑:数据驱动渲染、动态列与行处理、以及用户交互功能(如增删改查)。以下是具体实现方法: 基础动态表格实现 使用v-for指令循环渲染表…

vue实现动态轮播图片

vue实现动态轮播图片

使用 Vue 实现动态轮播图片 安装依赖 确保项目中已安装 Vue 和必要的库如 vue-awesome-swiper 或 swiper。通过以下命令安装: npm install swiper v…

vue实现动态排名变动

vue实现动态排名变动

Vue实现动态排名变动的方法 动态排名变动通常用于实时展示数据排序变化,如排行榜、比赛成绩等场景。以下是几种实现方式: 数据绑定与计算属性 利用Vue的响应式特性,通过计算属性自动更新排名: da…

vue实现动态树形目录

vue实现动态树形目录

动态树形目录的实现方法 在Vue中实现动态树形目录通常涉及递归组件和动态数据加载。以下是具体实现步骤: 数据结构设计 树形数据通常采用嵌套结构,每个节点包含子节点数组: const treeDat…