当前位置:首页 > CSS

css制作电风扇

2026-04-02 13:24:52CSS

使用CSS制作电风扇动画

通过CSS的动画和变形属性可以创建一个简单的电风扇效果。以下是实现步骤:

HTML结构

<div class="fan">
  <div class="blades"></div>
  <div class="base"></div>
</div>

CSS样式

css制作电风扇

.fan {
  position: relative;
  width: 200px;
  height: 200px;
  margin: 100px auto;
}

.blades {
  width: 100%;
  height: 100%;
  background: #333;
  border-radius: 50%;
  position: relative;
  animation: spin 2s linear infinite;
}

.blades:before, .blades:after {
  content: '';
  position: absolute;
  background: #555;
  width: 20px;
  height: 80px;
  top: 50%;
  left: 50%;
  transform-origin: left center;
}

.blades:before {
  transform: translate(-50%, -50%) rotate(0deg);
}

.blades:after {
  transform: translate(-50%, -50%) rotate(120deg);
}

.base {
  width: 80px;
  height: 100px;
  background: #666;
  position: absolute;
  bottom: -100px;
  left: 50%;
  transform: translateX(-50%);
  border-radius: 10px 10px 0 0;
}

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

添加更多扇叶

要创建更真实的电风扇效果,可以添加第三个扇叶:

.blades {
  /* 其他样式不变 */
}

.blades:before {
  transform: translate(-50%, -50%) rotate(0deg);
}

.blades:after {
  transform: translate(-50%, -50%) rotate(120deg);
}

.blades .third-blade {
  position: absolute;
  background: #555;
  width: 20px;
  height: 80px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(240deg);
}

控制风扇速度

通过修改动画持续时间可以控制风扇转速:

css制作电风扇

/* 慢速 */
.slow {
  animation: spin 4s linear infinite;
}

/* 中速 */
.medium {
  animation: spin 2s linear infinite;
}

/* 快速 */
.fast {
  animation: spin 1s linear infinite;
}

添加交互控制

使用JavaScript可以添加风扇开关和速度控制:

const fan = document.querySelector('.blades');
fan.style.animationPlayState = 'paused';

document.getElementById('toggle').addEventListener('click', () => {
  if (fan.style.animationPlayState === 'paused') {
    fan.style.animationPlayState = 'running';
  } else {
    fan.style.animationPlayState = 'paused';
  }
});

优化视觉效果

添加阴影和渐变效果使风扇更逼真:

.blades {
  box-shadow: 0 0 10px rgba(0,0,0,0.5);
  background: radial-gradient(circle, #444 0%, #222 100%);
}

.base {
  box-shadow: 0 5px 15px rgba(0,0,0,0.3);
  background: linear-gradient(to bottom, #777 0%, #555 100%);
}

标签: 电风扇css
分享给朋友:

相关文章

css如何制作圆

css如何制作圆

使用 border-radius 属性制作圆 通过设置 border-radius 属性为元素添加圆角效果。当 border-radius 的值等于元素宽度和高度的一半时,元素会呈现圆形。 .cir…

css表格制作

css表格制作

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

css图标制作

css图标制作

CSS 图标制作方法 使用 Unicode 或图标字体 通过引入字体库(如 Font Awesome)或直接使用 Unicode 符号生成图标。例如,Font Awesome 的图标可通过类名调用:…

css焦点图制作

css焦点图制作

使用纯CSS制作焦点图 通过CSS的动画和过渡效果实现简单焦点图轮播,无需JavaScript。以下是一个基础实现方案: <div class="slider"> <div c…

css个人简历制作两页

css个人简历制作两页

使用CSS制作两页个人简历 创建两页的个人简历需要合理布局和分页控制,以下是实现方法: HTML基础结构 <!DOCTYPE html> <html lang="zh-CN">…

div css制作

div css制作

使用 DIV 和 CSS 制作网页布局 DIV 是 HTML 中的块级元素,结合 CSS 可以灵活地创建各种网页布局。以下是常见的使用方法: 基础 DIV 结构 <div class="c…