当前位置:首页 > 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表格制作

CSS 表格制作基础 使用 CSS 可以创建美观且响应式的表格。以下是一些基本方法: table 元素用于定义表格,tr 定义行,td 定义单元格,th 定义表头单元格。 <table&…

css div 制作导航菜单

css div 制作导航菜单

基本导航菜单结构 使用HTML创建一个简单的导航菜单结构,通常使用<ul>和li>列表实现。每个菜单项用<a>标签包裹以实现链接功能。 <div class="n…

css制作表单

css制作表单

使用CSS制作表单的基本方法 创建一个美观且功能完善的表单需要结合HTML结构和CSS样式。以下是关键步骤和示例代码: HTML基础结构 <form class="my-form">…

纯css制作下拉菜单

纯css制作下拉菜单

纯CSS下拉菜单实现方法 通过CSS的:hover伪类和display属性可以实现纯CSS下拉菜单,无需JavaScript。以下是具体实现方式: HTML结构示例: <nav clas…

css制作时间轴

css制作时间轴

使用 Flexbox 布局制作时间轴 通过 Flexbox 可以快速实现水平或垂直时间轴。以下是一个垂直时间轴的示例代码: .timeline { display: flex; flex-…

css背景图片制作

css背景图片制作

使用CSS设置背景图片 在CSS中,可以通过background-image属性为元素添加背景图片。以下是一个基本示例: .element { background-image: url('p…