css3菊花制作方法
CSS3 菊花制作方法
通过 CSS3 的动画和变换特性可以制作菊花效果,以下是一种常见的实现方式:
HTML 结构
<div class="chrysanthemum"></div>
CSS 样式
.chrysanthemum {
width: 50px;
height: 50px;
position: relative;
}
.chrysanthemum::before,
.chrysanthemum::after {
content: "";
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
border-radius: 50%;
background: #ff6b6b;
animation: rotate 2s linear infinite;
}
.chrysanthemum::after {
animation-delay: 1s;
}
@keyframes rotate {
0% {
transform: rotate(0deg) scale(1);
opacity: 1;
}
100% {
transform: rotate(360deg) scale(0);
opacity: 0;
}
}
多花瓣菊花效果
要创建更复杂的花瓣效果,可以使用多个元素并设置不同的旋转角度:

HTML 结构
<div class="flower">
<div class="petal"></div>
<div class="petal"></div>
<div class="petal"></div>
<div class="petal"></div>
<div class="petal"></div>
<div class="petal"></div>
</div>
CSS 样式

.flower {
width: 100px;
height: 100px;
position: relative;
}
.petal {
position: absolute;
width: 20px;
height: 60px;
background: #ff9e7d;
border-radius: 50%;
top: 20px;
left: 40px;
transform-origin: center bottom;
}
.petal:nth-child(1) { transform: rotate(0deg); }
.petal:nth-child(2) { transform: rotate(60deg); }
.petal:nth-child(3) { transform: rotate(120deg); }
.petal:nth-child(4) { transform: rotate(180deg); }
.petal:nth-child(5) { transform: rotate(240deg); }
.petal:nth-child(6) { transform: rotate(300deg); }
.flower:hover .petal {
animation: sway 1s ease-in-out infinite alternate;
}
@keyframes sway {
0% { transform: rotate(var(--deg)) translateY(0); }
100% { transform: rotate(var(--deg)) translateY(-10px); }
}
动态旋转菊花
创建加载动画常用的旋转菊花效果:
HTML 结构
<div class="loader"></div>
CSS 样式
.loader {
width: 60px;
height: 60px;
border: 5px solid #f3f3f3;
border-top: 5px solid #3498db;
border-radius: 50%;
animation: spin 1s linear infinite;
}
@keyframes spin {
0% { transform: rotate(0deg); }
100% { transform: rotate(360deg); }
}
这些方法可以根据需要调整颜色、大小和动画时间来实现不同的菊花效果。



