…">
当前位置:首页 > 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项目中实现动态配置地址可以通过环境变量、API请求或配置文件等方式完成。以下是几种常见方法: 使用环境变量 创建.env文件存储基础URL,不同环境使用不同文件:…

vue动态表格实现

vue动态表格实现

Vue动态表格实现方法 使用v-for指令渲染动态数据 通过v-for指令可以循环遍历数组数据生成表格行,数据变化时表格自动更新。示例代码: <template> <table…

vue动态实现表

vue动态实现表

Vue 动态实现表格的方法 使用 v-for 动态渲染表格 通过 Vue 的 v-for 指令可以动态渲染表格行和列。定义一个数组作为数据源,在模板中使用 v-for 遍历数组生成表格内容。 <…

vue动态路由实现

vue动态路由实现

Vue 动态路由实现方法 动态路由是 Vue Router 的核心功能之一,允许根据参数动态匹配路由。以下是几种常见实现方式: 路由参数动态匹配 在路由配置中使用冒号 : 定义动态参数: cons…

vue 实现动态表格

vue 实现动态表格

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

vue实现登录动态路由

vue实现登录动态路由

实现登录动态路由的基本思路 动态路由的核心是根据用户权限或角色,在登录后动态加载可访问的路由表。Vue Router 提供了 addRoutes 方法(Vue Router 4.x 使用 addRou…