<…">
当前位置:首页 > 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 制作导航

基础导航栏制作 使用HTML和CSS创建一个水平导航栏。HTML结构通常使用<ul>和<li>标签,CSS负责样式布局。 <nav> <ul clas…

css制作按钮

css制作按钮

基础按钮样式 创建一个基础的CSS按钮样式,可以通过以下代码实现。这个例子包含了按钮的基本属性,如背景色、边框、内边距和文字样式。 .button { background-color: #4C…

css制作图片

css制作图片

CSS 制作图片的方法 使用 background-image 属性 通过 background-image 属性可以为元素设置背景图片。这种方法适用于将图片作为背景而非内容的一部分。 .eleme…

css二级菜单制作

css二级菜单制作

使用纯CSS实现二级菜单 通过嵌套HTML结构和CSS选择器实现二级菜单的显示与隐藏效果。以下是一个基础实现方案: HTML结构: <ul class="menu"> <…

空间css制作

空间css制作

空间 CSS 制作方法 使用 margin 和 padding 控制间距 通过调整 margin(外边距)和 padding(内边距)属性,可以控制元素之间的空间。例如: .element {…

css制作圆形

css制作圆形

使用 border-radius 属性 通过设置 border-radius 为 50%,可以将元素变为圆形。元素的宽度和高度需相同,否则会呈现椭圆形。 .circle { width:…