当前位置:首页 > 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(层叠样式表)用于控制网页的视觉表现,包括布局、颜色、字体等。以下是核心知识点: 选择器与样式规则 /* 标签选择器 */ p { color: #333; fo…

css制作标尺

css制作标尺

使用CSS制作标尺的方法 方法一:使用线性渐变和伪元素 通过CSS的线性渐变和伪元素可以创建水平或垂直标尺。以下是一个水平标尺的示例代码: .ruler { width: 100%; he…

min.css制作

min.css制作

使用 min.css 制作轻量级样式 min.css 是一个极简的 CSS 框架,专注于轻量化和快速加载。以下是如何使用 min.css 进行开发的步骤。 引入 min.css 通过 CDN 直接引…

css雪碧图制作

css雪碧图制作

CSS雪碧图制作方法 CSS雪碧图(CSS Sprite)是一种将多个小图标或背景图像合并到一张大图中的技术,通过减少HTTP请求提升网页性能。以下是制作和使用雪碧图的详细方法: 准备图像素材 收集…

css图形制作

css图形制作

CSS 图形制作方法 使用 CSS 可以创建各种基本和复杂的图形,主要通过 border、transform、clip-path 等属性实现。以下是几种常见图形的实现方式: 三角形 通过设置元素的…

css制作卷边效果

css制作卷边效果

使用伪元素和渐变实现卷边效果 通过CSS伪元素和线性渐变可以模拟纸张卷边的视觉效果。这种方法不需要额外元素,仅通过::before或::after伪元素实现。 .element { positi…