首页 > 网站 > WEB开发 > 正文

用css3实现风车效果

2024-04-27 14:31:00
字体:
来源:转载
供稿:网友
CSS3实现风车效果

前面讲过css3可以替代很多js实现的效果,其实很多时候纯css3甚至可以替代图片,直接用css3就可以画出一些简单的图片。虽然css3画出来的图片效果可能不如直接用图片的好,实现起来也比较复杂,最麻烦的是兼容性问题,不如图片来得直接实用。但是换一种思路去思考问题的解决办法往往能激发我们的灵感,也有助于我们学习css3。

下面给出的demo里会有用图片和纯css3实现的风车效果的对比。

先看看静态的效果图:

纯css3实现的风车动画效果图

纯css3实现的风车动画效果图

下面简单介绍一下我是如何用纯css3实现一个风车的动画效果的,

1.画出风车的柱子

我们可以看到风车的柱子是一个等边的梯形,通过width,height属性配合border我们可以实现很多几何图形,如三角形,梯形等等,大家可以参照下面梯形的实现方法自己试试其他图形的实现。

  1. display:block;
  2. height:0;
  3. width:4px;
  4. border-width:04px80px4px;
  5. border-style:nonesolidsolid;
  6. border-color:transparenttransparentwhite;

效果图

风车车柱实现效果

风车车柱实现效果

2.画风车的轴

这一步比较简单,用border-radius圆角属性可以轻松实现。

  1. width:4px;
  2. height:4px;
  3. border:3px#fffsolid;
  4. background:#a5cad6;
  5. border-radius:5px;

效果图

风车轴心实现效果

风车轴心实现效果

3.画风车的叶子

风车叶子的实现与柱子的实现原理相同,只不过是吧梯形倒过来了。

  1. height:0;
  2. width:2px;
  3. border-width:50px2px0px2px;
  4. border-style:solidsolidnone;
  5. border-color:whitetransparenttransparent;

4.定位风车页

这里使用css3中transform的rotate(旋转)来实现,有一点要注意的是,使用rotate时先要用origin定位旋转的圆心,默认是元素的中心,这里我们要定位在元素的顶部。

  1. -webkit-transform-origin:0px0px;
  2. -webkit-transform:rotate(60deg);

效果图

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表