当前位置:首页 > CSS

css3菊花制作方法

2026-01-08 20:34:17CSS

CSS3菊花制作方法

使用CSS3的动画和旋转特性可以轻松实现菊花加载效果。以下是两种常见的实现方式:

方法一:使用多个元素旋转

创建12个子元素,每个元素代表菊花的一个花瓣,通过旋转和透明度变化实现动画效果。

<div class="chrysanthemum">
  <div class="petal"></div>
  <div class="petal"></div>
  <!-- 重复12个petal元素 -->
</div>
.chrysanthemum {
  width: 60px;
  height: 60px;
  position: relative;
}

.petal {
  position: absolute;
  width: 6px;
  height: 20px;
  background: #3498db;
  border-radius: 3px;
  left: 27px;
  top: 0;
  transform-origin: 50% 30px;
}

.petal:nth-child(1) { transform: rotate(0deg); animation: fade 1s infinite; }
.petal:nth-child(2) { transform: rotate(30deg); animation: fade 1s infinite 0.083s; }
/* 继续为每个花瓣设置不同延迟 */
@keyframes fade {
  0% { opacity: 1; }
  100% { opacity: 0.2; }
}

方法二:使用伪元素和变量

通过CSS变量控制花瓣数量和动画延迟,减少HTML代码量。

<div class="spinner"></div>
.spinner {
  --petals: 12;
  --size: 60px;
  width: var(--size);
  height: var(--size);
  position: relative;
}

.spinner::before {
  content: "";
  position: absolute;
  width: calc(var(--size) / 10);
  height: calc(var(--size) / 3);
  background: #3498db;
  border-radius: calc(var(--size) / 20);
  left: calc(50% - var(--size) / 20);
  top: 0;
  transform-origin: 50% calc(var(--size) / 2);
  animation: spin 1.2s linear infinite;
}

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

关键参数调整

  • 花瓣数量:通过修改--petals变量或增加HTML元素
  • 大小:调整--size或直接修改宽高值
  • 颜色:修改background属性
  • 速度:调整animation-duration时间
  • 花瓣形状:修改border-radius和宽高比例

这两种方法都能创建流畅的菊花加载动画,第一种更直观但HTML代码较多,第二种更简洁但需要理解CSS变量和伪元素的使用。

css3菊花制作方法

分享给朋友:

相关文章

css3菊花动画制作

css3菊花动画制作

使用 CSS3 制作菊花动画 菊花动画通常指一种旋转的加载动画,类似于花瓣旋转的效果。以下是几种实现方法: 关键帧动画实现 通过 @keyframes 定义旋转动画,结合 transform…

css表格的制作方法

css表格的制作方法

CSS表格的制作方法 基本表格结构 使用HTML的<table>标签创建表格框架,搭配<tr>(行)、<td>(单元格)和<th>(表头)标签: &l…

css3菊花动画制作

css3菊花动画制作

使用CSS3制作菊花动画 菊花动画是一种常见的加载动画效果,通过CSS3的@keyframes和transform属性可以实现。以下是两种常见的实现方法: 旋转菊花动画 通过多个子元素的旋转和透明…

css3菊花制作方法

css3菊花制作方法

CSS3菊花制作方法 使用CSS3的动画和旋转特性可以轻松实现菊花加载效果。以下是一种常见的实现方式: HTML结构 <div class="spinner"> <div…