CSS3 制作旋转的大风车(充满童年回忆)


Posted in HTML / CSS onJanuary 30, 2013

发一个很久以前的作品,当开始得知CSS3可以做动画时,就很想玩玩,于是就做了个充满童年回忆的大风车。


提示:您可以先修改部分代码再运行

HTML:
复制代码
代码如下:

<div class="windmill">
<div class="red"></div>
<div class="yellow"></div>
<div class="blue"></div>
<div class="green"></div>
<div class="dot"></div>
</div>

实现过程:首先来一个容器里面四个风扇、 一个中心点 结构很简单,使用绝对分别定好位。然后再使用border-radius把风扇矩形变成半圆,形状就有了,再分别给其上色,红黄蓝绿四种渐变颜色。最后给容器加个animation使整个容器开始旋转即可。
CSS:
复制代码
代码如下:

.windmill{
padding:10px; width:400px; height:400px; position:relative;
animation-name:moveWindmill;
animation-duration:4s;
animation-timing-function:linearanimation-delay:0;
animation-iteration-count:infinite;
animation-play-state:running;
/* 动画: */
-moz-animation-name:moveWindmill;
-moz-animation-duration:4s;
-moz-animation-timing-function:linear;
-moz-animation-delay:0;
-moz-animation-iteration-count:infinite;
-moz-animation-play-state:running;
-webkit-animation-name:moveWindmill;
-webkit-animation-duration:4s;
-webkit-animation-timing-function:linear;
-webkit-animation-delay:0;
-webkit-animation-iteration-count:infinite;
-webkit-animation-play-state:running;
-ms-animation-name:moveWindmill;
-ms-animation-duration:4s;
-ms-animation-timing-function:linear;
-ms-animation-delay:0;
-ms-animation-iteration-count:infinite;
-ms-animation-play-state:running;
}
.windmill div{ position:absolute; width:100px; height:50px;left:50%; top:50%; border-radius:0 0 50px 50px ; -moz-transform-origin:0% 0%;-webkit-transform-origin:0% 0%;-ms-transform-origin:0% 0%;}
.windmill .red{ background-color:red; background: -moz-radial-gradient(right, circle,red , #000);
background: -webkit-radial-gradient(right, circle,red , #000);
}
.windmill .yellow{transform:rotate(90deg); -ms-transform:rotate(90deg); -moz-transform:rotate(90deg); -webkit-transform:rotate(90deg); background-color:yellow; background: -moz-radial-gradient(right, circle,yellow , #000); background: -webkit-radial-gradient(right, circle,yellow , #000); background: -ms-radial-gradient(right, circle,yellow , #000);}
.windmill .blue{transform:rotate(180deg);-ms-transform:rotate(180deg); -moz-transform:rotate(180deg); -webkit-transform:rotate(180deg); background-color:blue; background: -moz-radial-gradient(right, circle,blue , #000); background: -webkit-radial-gradient(right, circle,blue , #000); }
.windmill .green{transform:rotate(270deg); -ms-transform:rotate(270deg);-moz-transform:rotate(270deg);-webkit-transform:rotate(270deg); background-color:green; background:radial-gradient(right, circle,green , #000);background: -moz-radial-gradient(right, circle,green , #000); background: -webkit-radial-gradient(right, circle,green , #000); background: -ms-radial-gradient(right, circle,green , #000); }.windmill .dot{ width:50px; height:50px; border-radius:50px ; position:absolute; left:50%;top:50%; margin-left:-25px; margin-top:-25px;background:#fff; background: -moz-radial-gradient(center, circle,#fff , #666); background: -webkit-radial-gradient(center, circle,#fff , #666);}
@keyframes moveWindmill /* Firefox */
{
% { -ms-transform: rotate(0deg)}
% { -ms-transform: rotate(90deg)}
% { -ms-transform: rotate(180deg)}
% { -ms-transform: rotate(270deg)}
% { -ms-transform: rotate(360deg)}
}
@-ms-keyframes moveWindmill /* ms*/
{
% { -ms-transform: rotate(0deg)}
% { -ms-transform: rotate(90deg)}
% { -ms-transform: rotate(180deg)}
% { -ms-transform: rotate(270deg)}
% { -ms-transform: rotate(360deg)}
}
@-webkit-keyframes moveWindmill /*webkit*/
{
% { -webkit-transform: rotate(0deg)}
% { -webkit-transform: rotate(90deg)}
% { -webkit-transform: rotate(180deg)}
% { -webkit-transform: rotate(270deg)}
% { -webkit-transform: rotate(360deg)} }
@-moz-keyframes moveWindmill /* Firefox */
{
% { -moz-transform: rotate(0deg)}
% { -moz-transform: rotate(90deg)}
% { -moz-transform: rotate(180deg)}
% { -moz-transform: rotate(270deg)}
% { -moz-transform: rotate(360deg)}
}
HTML / CSS 相关文章推荐
css3的transition效果和transfor效果示例介绍
Oct 30 HTML / CSS
一款恶搞头像特效的制作过程 利用css3和jquery
Nov 21 HTML / CSS
css 元素选择器的简单实例
May 23 HTML / CSS
详解HTML5中的标签
Jun 19 HTML / CSS
html5标记文字_动力节点Java学院整理
Jul 11 HTML / CSS
video结合canvas实现视频在线截图功能
Jun 25 HTML / CSS
举例详解HTML5中使用JSON格式提交表单
Jun 16 HTML / CSS
html5 视频播放解决方案
Nov 06 HTML / CSS
html5简单示例_动力节点Java学院整理
Jul 07 HTML / CSS
五分钟学会HTML5的WebSocket协议
Nov 22 HTML / CSS
CSS3 制作精美的定价表
Apr 06 HTML / CSS
HTML5来实现本地文件读取和写入的实现方法
May 25 HTML / CSS
css3简单练习实现遨游浏览器logo的绘制
Jan 30 #HTML / CSS
IE滤镜与CSS3效果(详细整理分享)
Jan 25 #HTML / CSS
使用Filters滤镜弥补CSS3的跨浏览器问题以及兼容低版本IE
Jan 23 #HTML / CSS
纯css3无js实现的Android Logo(有简单动画)
Jan 21 #HTML / CSS
定义css设备类型-Media Queries图表简介及使用方法
Jan 21 #HTML / CSS
css3强大的动画效果animate使用说明及浏览器兼容介绍
Jan 09 #HTML / CSS
css3 box-sizing属性使用参考指南
Jan 08 #HTML / CSS
You might like
关于尾递归的使用详解
2013/05/02 PHP
PHP保留两位小数并且四舍五入及不四舍五入的方法
2013/09/22 PHP
PHP SPL标准库之接口(Interface)详解
2015/05/11 PHP
PHP实现文件上传和多文件上传
2015/12/24 PHP
PHP连接SQL Server的方法分析【基于thinkPHP5.1框架】
2019/05/06 PHP
php与阿里云短信接口接入操作案例分析
2020/05/27 PHP
PHP中-&gt;和=&gt;的含义及使用示例解析
2020/08/06 PHP
JQuery 绑定事件时传递参数的实现方法
2009/10/13 Javascript
原创javascript小游戏实现代码
2010/08/19 Javascript
onsubmit阻止form表单提交与onclick的相关操作
2010/09/03 Javascript
functional继承模式 摘自javascript:the good parts
2011/06/20 Javascript
推荐17个优美新鲜的jQuery的工具提示插件
2012/09/14 Javascript
javascript中字符串拼接详解
2014/09/26 Javascript
jquery获取radio值实例
2014/10/16 Javascript
JavaScript中数组成员的添加、删除介绍
2014/12/30 Javascript
jQuery实现的右下角广告窗体跟随效果示例
2016/09/16 Javascript
vue基础之事件v-onclick=&quot;函数&quot;用法示例
2019/03/11 Javascript
JavaScript基础之this和箭头函数详析
2019/09/05 Javascript
Vue使用Three.js加载glTF模型的方法详解
2020/06/14 Javascript
一个计算身份证号码校验位的Python小程序
2014/08/15 Python
Python实现批量检测HTTP服务的状态
2016/10/27 Python
使用Python快乐学数学Github万星神器Manim简介
2019/08/07 Python
基于Python3.6中的OpenCV实现图片色彩空间的转换
2020/02/03 Python
TensorFlow实现批量归一化操作的示例
2020/04/22 Python
Python类成员继承重写的实现
2020/09/16 Python
python破解同事的压缩包密码
2020/10/14 Python
HTML5几个设计和修改的页面范例分享
2015/09/29 HTML / CSS
斯图尔特·韦茨曼鞋加拿大官网:Stuart Weitzman加拿大
2019/10/13 全球购物
计算机开发个人求职信范文
2013/09/26 职场文书
本科毕业生求职信
2014/06/15 职场文书
高中国旗下的演讲稿
2014/08/28 职场文书
公路局群众路线教育实践活动第一阶段工作汇报
2014/10/25 职场文书
员工离职证明范本
2015/06/12 职场文书
校园运动会广播稿
2015/08/19 职场文书
JMeter对MySQL数据库进行压力测试的实现步骤
2022/01/22 MySQL
python 离散点图画法的实现
2022/04/01 Python