当前位置:首页 > CSS

css3菊花动画制作

2026-01-27 22:47:16CSS

使用 CSS3 制作菊花动画

菊花动画通常指一种旋转的加载动画,类似于花瓣旋转的效果。以下是几种实现方法:

css3菊花动画制作

关键帧动画实现

通过 @keyframes 定义旋转动画,结合 transformopacity 实现花瓣效果:

css3菊花动画制作

.loader {
  width: 60px;
  height: 60px;
  position: relative;
}

.loader .petal {
  position: absolute;
  width: 20px;
  height: 20px;
  background: #3498db;
  border-radius: 50%;
  animation: spin 1.2s infinite ease-in-out;
}

@keyframes spin {
  0%, 100% { opacity: 0.3; transform: scale(0.5); }
  50% { opacity: 1; transform: scale(1); }
}

多花瓣布局

通过为每个花瓣设置不同的延迟和位置:

.loader .petal:nth-child(1) {
  top: 0;
  left: 20px;
  animation-delay: 0s;
}
.loader .petal:nth-child(2) {
  top: 5px;
  left: 40px;
  animation-delay: 0.1s;
}
/* 继续添加更多花瓣... */

简化版单元素实现

使用伪元素和 box-shadow 创建多个花瓣:

.loader {
  width: 20px;
  height: 20px;
  position: relative;
  animation: spin 1s infinite linear;
}

.loader:before, .loader:after {
  content: '';
  position: absolute;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  box-shadow: 
    0 0 0 5px rgba(52, 152, 219, 0.2),
    30px 0 0 5px rgba(52, 152, 219, 0.3),
    -30px 0 0 5px rgba(52, 152, 219, 0.4);
}

性能优化建议

  • 使用 will-change: transform 提升动画性能
  • 避免过多使用 box-shadow,改用多个元素
  • 考虑使用 transform: rotate() 替代 left/top 位移

完整示例通常需要 8-12 个花瓣元素,通过调整动画延迟和位置实现交替旋转效果。可根据实际需求调整花瓣数量、颜色和旋转速度。

分享给朋友:

相关文章

css动画制作

css动画制作

CSS动画基础语法 CSS动画通过@keyframes规则定义动画序列,结合animation属性实现动态效果。以下是一个基础示例: @keyframes example { 0% {bac…

css3 动画制作

css3 动画制作

CSS3 动画基础 CSS3 动画通过 @keyframes 规则和 animation 属性实现。@keyframes 定义动画的关键帧,animation 控制动画的播放方式(如持续时间、延迟、循…

css动画制作图片

css动画制作图片

CSS动画制作图片的方法 使用CSS动画可以为图片添加各种动态效果,如旋转、缩放、淡入淡出等。以下是几种常见的CSS动画实现方式。 基础动画实现 通过@keyframes定义动画序列,并将其应用到…

css3前端动画制作

css3前端动画制作

CSS3 前端动画制作方法 CSS3 提供了多种方式实现动画效果,包括过渡(transition)、关键帧动画(keyframes)和变换(transform)。以下是具体实现方法: 过渡动画(Tr…

css3在线动画制作

css3在线动画制作

CSS3 在线动画制作工具 以下是一些常用的在线工具,可以帮助快速生成CSS3动画代码,无需手动编写全部代码: Animista 网址:https://animista.net/ 特点:提供预设的…

css3动画制作心得

css3动画制作心得

CSS3动画制作心得 CSS3动画通过@keyframes和animation属性实现,结合硬件加速和性能优化技巧,可创建流畅的视觉效果。 关键帧定义 使用@keyframes定义动画序列,百分比或…