当前位置:首页 > CSS

css3菊花动画制作

2026-01-08 20:14:34CSS

CSS3 菊花动画制作

CSS3 菊花动画(Loading Spinner)可以通过 @keyframestransform 属性实现旋转效果,结合伪元素或子元素模拟花瓣。

基础旋转动画

通过 @keyframes 定义旋转动画,应用于容器元素:

.spinner {
  width: 50px;
  height: 50px;
  animation: spin 1s linear infinite;
}

@keyframes spin {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

多花瓣效果

使用伪元素或子元素创建花瓣,通过延迟动画实现交错效果:

.spinner {
  position: relative;
  width: 40px;
  height: 40px;
}

.spinner::before,
.spinner::after {
  content: '';
  position: absolute;
  width: 100%;
  height: 100%;
  border: 4px solid transparent;
  border-radius: 50%;
  border-top-color: #3498db;
  animation: spin 1s ease-in-out infinite;
}

.spinner::after {
  border-top-color: #e74c3c;
  animation-delay: 0.5s;
}

点状花瓣

通过多个子元素(点)和动画延迟实现菊花效果:

css3菊花动画制作

<div class="dot-spinner">
  <div class="dot"></div>
  <div class="dot"></div>
  <div class="dot"></div>
  <!-- 更多点 -->
</div>
.dot-spinner {
  display: flex;
  align-items: center;
  justify-content: center;
}

.dot {
  width: 8px;
  height: 8px;
  margin: 0 4px;
  background-color: #333;
  border-radius: 50%;
  animation: bounce 1.4s infinite ease-in-out;
}

.dot:nth-child(1) { animation-delay: 0s; }
.dot:nth-child(2) { animation-delay: 0.2s; }
.dot:nth-child(3) { animation-delay: 0.4s; }

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

进阶优化

  • 使用 will-change: transform 提升动画性能
  • 调整 animation-timing-function 实现缓动效果
  • 通过 CSS 变量控制颜色和大小:
    .spinner {
    --spinner-color: #3498db;
    --spinner-size: 40px;
    width: var(--spinner-size);
    height: var(--spinner-size);
    border: 4px solid rgba(0,0,0,0.1);
    border-radius: 50%;
    border-top-color: var(--spinner-color);
    }

以上方法可根据实际需求组合调整,实现不同风格的菊花加载动画。

分享给朋友:

相关文章

css动画制作图片

css动画制作图片

CSS动画制作图片的方法 使用CSS动画可以为图片添加各种动态效果,提升网页的视觉吸引力。以下是几种常见的CSS动画实现方式: 关键帧动画(@keyframes) 通过定义关键帧来控制动画的各个阶段…

css 动画制作

css 动画制作

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

动画制作css

动画制作css

使用 CSS 制作动画 CSS 动画可以通过 @keyframes 规则和 animation 属性实现,适用于元素的状态变化、过渡效果等。以下是实现 CSS 动画的核心方法: 定义关键帧动画 通过…

css3前端动画制作

css3前端动画制作

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

css3在线动画制作

css3在线动画制作

CSS3 在线动画制作工具 CodePen CodePen 是一个流行的在线代码编辑器,支持实时预览 CSS3 动画效果。用户可以直接编写 CSS3 动画代码(如 @keyframes 和 trans…

css3动画制作心得

css3动画制作心得

css3动画制作心得 关键帧动画(@keyframes) 使用@keyframes定义动画序列,通过百分比或from/to指定关键帧状态。动画属性需在目标元素中通过animation调用。例如:…