当前位置:首页 > CSS

css3菊花制作方法

2026-01-08 20:34:17CSS

CSS3菊花制作方法

使用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; }
}

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

css3菊花制作方法

通过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变量和伪元素的使用。

分享给朋友:

相关文章

css表格的制作方法

css表格的制作方法

基础表格结构 使用<table>标签创建表格框架,<tr>定义行,<td>定义单元格: <table> <tr> <t…

css3菊花动画制作

css3菊花动画制作

CSS3 菊花动画制作 CSS3 菊花动画(Loading Spinner)可以通过 @keyframes 和 transform 属性实现旋转效果,结合伪元素或子元素模拟花瓣。 基础旋转动…

css样式表的制作方法

css样式表的制作方法

创建基本CSS文件 新建一个文本文件,将其后缀名改为.css,例如style.css。文件开头可添加字符编码声明: @charset "UTF-8"; 编写选择器与样式规则 使用选择器定位HTML…