当前位置:首页 > CSS

css3菊花动画制作

2026-02-12 17:12:36CSS

使用CSS3制作菊花动画

菊花动画是一种常见的加载动画效果,通过CSS3的@keyframestransform属性可以实现。以下是两种常见的实现方法:

旋转菊花动画

通过多个子元素的旋转和透明度变化实现菊花效果:

css3菊花动画制作

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

.loader div {
  width: 8px;
  height: 8px;
  background-color: #3498db;
  border-radius: 50%;
  position: absolute;
  top: 25px;
  animation: spin 1.2s linear infinite;
}

.loader div:nth-child(1) {
  left: 10px;
  animation-delay: -0.4s;
}
.loader div:nth-child(2) {
  left: 25px;
  animation-delay: -0.2s;
}
.loader div:nth-child(3) {
  left: 40px;
  animation-delay: 0s;
}

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

环形菊花动画

通过伪元素和旋转动画创建环形菊花效果:

.spinner {
  width: 40px;
  height: 40px;
  position: relative;
  animation: rotate 2s linear infinite;
}

.spinner::before,
.spinner::after {
  content: '';
  width: 15px;
  height: 15px;
  background-color: #333;
  border-radius: 50%;
  position: absolute;
}

.spinner::before {
  top: 0;
  left: 0;
  animation: bounce 1s infinite;
}

.spinner::after {
  bottom: 0;
  right: 0;
  animation: bounce 1s infinite -0.5s;
}

@keyframes rotate {
  100% {
    transform: rotate(360deg);
  }
}

@keyframes bounce {
  0%, 100% {
    transform: scale(0);
  }
  50% {
    transform: scale(1);
  }
}

优化技巧

  1. 使用will-change属性提升动画性能:

    css3菊花动画制作

    .loader {
    will-change: transform;
    }
  2. 通过调整animation-timing-function改变动画节奏:

    .loader {
    animation-timing-function: cubic-bezier(0.5, 0, 0.5, 1);
    }
  3. 响应式设计考虑:

    @media (max-width: 768px) {
    .loader {
     width: 40px;
     height: 40px;
    }
    }

这些CSS3动画方法不依赖JavaScript,性能较好,适合作为网页加载指示器使用。可以根据实际需求调整颜色、大小和动画速度等参数。

分享给朋友:

相关文章

css3在线动画制作

css3在线动画制作

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

css3菊花制作方法

css3菊花制作方法

CSS3菊花制作方法 使用CSS3的animation和transform属性可以轻松实现菊花加载动画效果。以下是两种常见的实现方式: 基础旋转菊花 .spinner { width: 40p…

css 动画制作

css 动画制作

CSS 动画基础 CSS 动画通过 @keyframes 和 animation 属性实现。@keyframes 定义动画关键帧,animation 控制动画的播放方式。 定义一个简单的动画: @…

css动画制作

css动画制作

CSS动画基础语法 CSS动画通过@keyframes规则定义动画序列,再通过animation属性绑定到元素上。基本语法结构分为两部分: @keyframes 动画名称 { 0% { /* 起…

css3 动画制作

css3 动画制作

CSS3 动画制作基础 CSS3 动画通过 @keyframes 规则和 animation 属性实现。定义关键帧后,将其绑定到元素上,设置持续时间、延迟、循环方式等参数。 @keyfram…

css3前端动画制作

css3前端动画制作

CSS3 前端动画制作方法 使用 transition 制作过渡动画 transition 用于在元素状态变化时添加平滑过渡效果。可以定义过渡的属性、持续时间、延迟时间和速度曲线。 .box {…