当前位置:首页 > 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);
    }

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

分享给朋友:

相关文章

css3动画制作

css3动画制作

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

css动画制作原理

css动画制作原理

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

css3在线动画制作

css3在线动画制作

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

css动画制作步骤

css动画制作步骤

CSS动画制作步骤 关键帧定义 使用@keyframes规则定义动画序列,指定动画在不同时间点的样式状态。例如: @keyframes fadeIn { 0% { opacity: 0; }…

css动画制作弹球

css动画制作弹球

使用CSS动画制作弹球效果 创建一个弹球动画需要结合CSS的@keyframes规则和animation属性,模拟弹球的弹跳和移动效果。以下是实现方法: HTML结构 <div cl…

css打勾动画制作

css打勾动画制作

CSS打勾动画制作方法 使用CSS制作打勾动画可以通过伪元素和关键帧动画实现,以下是具体实现方式: HTML结构 <div class="checkmark"></div>…