<…">
当前位置:首页 > CSS

css制作风车

2026-01-28 13:25:32CSS

使用CSS制作风车效果

通过CSS的动画和变换属性可以轻松实现一个旋转的风车效果。以下是完整的实现方法:

css制作风车

HTML结构

<div class="windmill">
  <div class="blade"></div>
  <div class="blade"></div>
  <div class="blade"></div>
  <div class="blade"></div>
  <div class="center"></div>
</div>

CSS样式

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

.blade {
  position: absolute;
  width: 100px;
  height: 20px;
  background-color: #3498db;
  top: 90px;
  left: 50px;
  transform-origin: 0 50%;
  animation: spin 2s linear infinite;
}

.blade:nth-child(1) { transform: rotate(0deg); }
.blade:nth-child(2) { transform: rotate(90deg); }
.blade:nth-child(3) { transform: rotate(180deg); }
.blade:nth-child(4) { transform: rotate(270deg); }

.center {
  position: absolute;
  width: 30px;
  height: 30px;
  background-color: #e74c3c;
  border-radius: 50%;
  top: 85px;
  left: 85px;
  z-index: 10;
}

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

实现原理

风车由四个叶片和一个中心圆点组成。每个叶片通过绝对定位放置在相同位置,然后分别旋转0°、90°、180°和270°形成十字形状。

css制作风车

transform-origin属性设置旋转中心点为叶片左侧中点。动画使用@keyframes定义从0°到360°的无限循环旋转,使所有叶片同步转动。

自定义选项

修改风车大小可调整.windmill容器的宽高。改变.blade的宽高可调整叶片尺寸。background-color可更改颜色。动画持续时间(2s)可调整旋转速度。

浏览器兼容性

该效果支持所有现代浏览器,包括Chrome、Firefox、Safari和Edge。如需支持IE10及以下版本,需要添加-webkit和-ms前缀。

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

相关文章

css制作三角形

css制作三角形

使用 border 属性创建三角形 通过设置元素的 border 属性可以实现三角形效果。原理是利用边框的交界处形成的斜边。 .triangle { width: 0; height: 0;…

css导航制作

css导航制作

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

css制作滑动切换

css制作滑动切换

使用CSS实现滑动切换效果 方法一:使用CSS Transition和Transform 通过transition和transform属性实现平滑的滑动动画效果。 .slider-container…

css怎么制作段落

css怎么制作段落

段落样式基础设置 使用 p 标签定义段落,通过CSS控制字体、间距等属性: p { font-family: Arial, sans-serif; font-size: 16px;…

制作 .css

制作 .css

创建 CSS 文件的基本步骤 新建一个文本文件,将其保存为 .css 扩展名(例如 style.css)。使用纯文本编辑器(如 Notepad++、VS Code 或 Sublime Text)编写…

css尾部制作

css尾部制作

如何制作CSS尾部(页脚) 固定定位法 将页脚固定在页面底部,无论内容多少。使用position: fixed结合bottom: 0实现: footer { position: fixed;…