当前位置:首页 > CSS

css制作蝴蝶飞

2026-03-11 22:41:49CSS

CSS制作蝴蝶飞动画

通过CSS的@keyframestransform属性可以实现蝴蝶飞舞的动画效果。以下是一个完整的实现方案:

css制作蝴蝶飞

HTML结构

创建一个包含蝴蝶翅膀和身体的简单HTML结构:

css制作蝴蝶飞

<div class="butterfly">
  <div class="wings left-wing"></div>
  <div class="wings right-wing"></div>
  <div class="body"></div>
</div>

CSS样式

添加基础样式和动画效果:

.butterfly {
  position: relative;
  width: 100px;
  height: 100px;
  animation: fly 5s infinite alternate ease-in-out;
}

.body {
  position: absolute;
  width: 10px;
  height: 40px;
  background: #333;
  top: 30px;
  left: 45px;
  border-radius: 5px;
}

.wings {
  position: absolute;
  width: 40px;
  height: 50px;
  background: linear-gradient(135deg, #ff7eb3, #ff758c);
  border-radius: 50% 50% 50% 50% / 60% 60% 40% 40%;
}

.left-wing {
  left: 5px;
  top: 20px;
  transform-origin: right center;
  animation: flap-left 0.5s infinite alternate;
}

.right-wing {
  right: 5px;
  top: 20px;
  transform-origin: left center;
  animation: flap-right 0.5s infinite alternate;
}

@keyframes flap-left {
  0% { transform: rotateY(0deg); }
  100% { transform: rotateY(60deg); }
}

@keyframes flap-right {
  0% { transform: rotateY(0deg); }
  100% { transform: rotateY(-60deg); }
}

@keyframes fly {
  0% { transform: translate(0, 0) rotate(0deg); }
  25% { transform: translate(200px, 50px) rotate(10deg); }
  50% { transform: translate(400px, 0) rotate(0deg); }
  75% { transform: translate(200px, -50px) rotate(-10deg); }
  100% { transform: translate(0, 0) rotate(0deg); }
}

优化建议

  1. 使用transform-style: preserve-3d可以增强翅膀的3D效果
  2. 调整animation-timing-function使飞行路径更自然
  3. 添加box-shadow给蝴蝶增加深度感

进阶效果

要实现更逼真的蝴蝶效果,可以:

.wings {
  box-shadow: 0 0 10px rgba(255, 126, 179, 0.5);
  transition: transform 0.1s ease-out;
}

.butterfly:hover .left-wing {
  animation: flap-left 0.2s infinite alternate;
}

.butterfly:hover .right-wing {
  animation: flap-right 0.2s infinite alternate;
}

这个实现结合了翅膀扇动和整体飞行动画,通过调整关键帧和时间函数可以获得不同的飞行效果。

标签: 蝴蝶css
分享给朋友:

相关文章

css焦点图制作

css焦点图制作

使用纯CSS制作焦点图 通过CSS的动画和过渡效果实现简单焦点图轮播,无需JavaScript。以下是一个基础实现方案: <div class="slider"> <div c…

网页制作中css中运行

网页制作中css中运行

CSS 动画基础 CSS 动画通过 @keyframes 和 animation 属性实现动态效果。@keyframes 定义动画关键帧,animation 控制动画的持续时间、速度曲线等。 定…

页脚制作 css

页脚制作 css

页脚基础样式 使用CSS为页脚设置基础样式,通常包括背景色、文字颜色、内边距等属性。以下是一个常见示例: footer { background-color: #333; color: wh…

风车制作css

风车制作css

风车制作CSS方法 使用CSS创建风车效果可以通过动画和变换属性实现。以下是一个简单的风车旋转动画示例: HTML结构 <div class="windmill"> <div…

css制作春联

css制作春联

使用CSS制作春联的方法 基础布局与样式 春联通常由一对垂直排列的红色对联和顶部的横批组成。使用CSS的flexbox布局可以轻松实现这种结构。创建一个父容器,内部包含三个子元素:横批、上联和下联。…

css制作网页

css制作网页

CSS 网页设计基础 CSS(层叠样式表)用于控制网页的视觉呈现,包括布局、颜色、字体等。以下为关键方法和示例: 基础结构 HTML 文件需链接 CSS: <link rel="styles…