当前位置:首页 > CSS

css3菊花动画制作

2026-02-12 17:12:36CSS

使用CSS3制作菊花动画

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

旋转菊花动画

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

.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属性提升动画性能:

    .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菊花动画制作

分享给朋友:

相关文章

css帧动画制作视频

css帧动画制作视频

CSS帧动画制作方法 CSS帧动画通过@keyframes规则和animation属性实现,以下是具体步骤: 定义关键帧 使用@keyframes定义动画序列,从0%到100%描述每一帧的状态:…

css3动画制作

css3动画制作

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

css动画制作

css动画制作

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

css动画制作原理

css动画制作原理

CSS动画制作原理 CSS动画通过改变元素的样式属性实现动态效果,主要依赖关键帧(@keyframes)和动画属性(如animation-name、animation-duration)的配合。核心原…

css3前端动画制作

css3前端动画制作

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

css3动画制作心得

css3动画制作心得

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