当前位置:首页 > CSS

风车制作css

2026-02-12 18:59:03CSS

使用CSS创建风车动画

通过CSS的transformanimation属性可以实现风车旋转效果。以下是一个完整的实现方案:

HTML结构

风车制作css

<div class="windmill">
  <div class="blades"></div>
  <div class="tower"></div>
</div>

CSS样式

.windmill {
  position: relative;
  width: 200px;
  height: 300px;
  margin: 50px auto;
}

.tower {
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 20px;
  height: 200px;
  background: #888;
  transform: translateX(-50%);
}

.blades {
  position: absolute;
  top: 50px;
  left: 50%;
  width: 100px;
  height: 100px;
  transform-origin: center 150px;
  animation: spin 5s linear infinite;
}

.blades::before {
  content: "";
  position: absolute;
  width: 20px;
  height: 100px;
  background: #f5f5f5;
  left: 40px;
  border-radius: 10px;
  box-shadow: 0 0 5px rgba(0,0,0,0.3);
}

.blades::after {
  content: "";
  position: absolute;
  width: 100px;
  height: 20px;
  background: #f5f5f5;
  top: 40px;
  border-radius: 10px;
  box-shadow: 0 0 5px rgba(0,0,0,0.3);
}

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

添加更多叶片

要使风车看起来更真实,可以增加叶片数量:

风车制作css

.blades {
  /* 原有样式保持不变 */
  transform-origin: center 150px;
}

.blades::before,
.blades::after,
.blades span:nth-child(1),
.blades span:nth-child(2) {
  position: absolute;
  width: 20px;
  height: 100px;
  background: #f5f5f5;
  left: 40px;
  border-radius: 10px;
  box-shadow: 0 0 5px rgba(0,0,0,0.3);
}

.blades span:nth-child(1) {
  transform: rotate(45deg);
}

.blades span:nth-child(2) {
  transform: rotate(-45deg);
}

响应式调整

为适应不同屏幕尺寸,可以添加媒体查询:

@media (max-width: 600px) {
  .windmill {
    transform: scale(0.7);
  }
}

性能优化建议

使用will-change属性提升动画性能:

.blades {
  will-change: transform;
}

通过以上CSS代码,可以创建一个平滑旋转的风车动画效果。根据实际需求可调整尺寸、颜色和旋转速度等参数。

标签: 风车css
分享给朋友:

相关文章

css导航制作

css导航制作

基础导航栏制作 使用HTML的无序列表 <ul> 和 <li> 构建导航结构,CSS清除默认样式并横向排列: <nav> <ul class="navb…

css日历制作

css日历制作

基础日历结构 使用HTML创建日历的基本框架,通常包含表格元素。月份、星期几和日期通过<table>标签组织,表头显示星期几,表格主体填充日期数字。 <div class="cal…

制作css开关

制作css开关

使用纯CSS创建开关 HTML结构需要包含一个隐藏的复选框和一个关联的标签元素: <label class="switch"> <input type="checkbox"&g…

css风格制作

css风格制作

CSS 风格制作方法 内联样式 直接在 HTML 元素的 style 属性中编写 CSS 代码,适用于单个元素的快速样式设置。 示例: <p style="color: blue; fon…

css奖状制作

css奖状制作

使用CSS制作奖状 奖状制作可以通过CSS结合HTML实现,适用于网页展示或打印。以下是几种常见的设计方法: 基础奖状结构 HTML框架用于定义奖状内容,CSS负责样式设计。 <div cl…

css制作标尺

css制作标尺

使用 CSS 制作标尺的方法 方法一:使用线性渐变和伪元素 通过 linear-gradient 和伪元素实现刻度线,适合简单的水平或垂直标尺。 .ruler { position: rela…