用html怎么制作风车,如何用css3实现风车效果
前面讲过css3可以替代很多js实现的效果,其实很多时候纯css3甚至可以替代图片,直接用css3就可以画出一些简单的图片。虽然css3画出来的图片效果可能不如直接用图片的好,实现起来也比较复杂,最麻烦的是兼容性问题,不如图片来得直接实用。但是换一种思路去思考问题的解决办法往往能激发我们的灵感,也有助于我们学习css3。
下面给出的demo里会有用图片和纯css3实现的风车效果的对比。
先看看静态的效果图:
纯css3实现的风车动画效果图
下面简单介绍一下我是如何用纯css3实现一个风车的动画效果的,
1.画出风车的柱子
我们可以看到风车的柱子是一个等边的梯形,通过width,height属性配合border我们可以实现很多几何图形,如三角形,梯形等等,大家可以参照下面梯形的实现方法自己试试其他图形的实现。
display:block;
height: 0;
width:4px;
border-width: 04px80px4px;
border-style:nonesolidsolid;
border-color:transparenttransparentwhite;
效果图
风车车柱实现效果
2.画风车的轴
这一步比较简单,用border-radius圆角属性可以轻松实现。
width:4px;
height:4px;
border:3px#fffsolid;
background:#a5cad6;
border-radius:5px;
效果图
风车轴心实现效果
3.画风车的叶子
风车叶子的实现与柱子的实现原理相同,只不过是吧梯形倒过来了。
height: 0;
width:2px;
border-width:50px2px0px2px;
border-style:solidsolidnone;
border-color:whitetransparenttransparent;
4.定位风车页
这里使用css3中transform的rotate(旋转)来实现,有一点要注意的是,使用rotate时先要用origin定位旋转的圆心,默认是元素的中心,这里我们要定位在元素的顶部。
-webkit-transform-origin:0px0px;
-webkit-transform:rotate(60deg);
效果图
风车扇页实现效果
用上面的办法依次画出三个风车扇面,并且定位好角度。
5.实现扇页的动态效果
静态的风车画好了,接下来我们要做的就是让它动起来。
前面我们可以把扇页定位在轴心元素的子元素,这样我们只要实现轴心的转动效果就可以让扇页也跟着动起来了。
下面是动画的实现
@-webkit-keyframes rotate{from{-webkit-transform:rotate(0deg)}to{-webkit-transform:rotate(360deg)}}
把实现好的动画方法rotate放到我们的轴心元素中,扇页就可以动起来啦。
-webkit-animation: rotate 4s linear infinite;
6.完善效果并实现兼容性
至此我们的风车已经基本上完成啦,前面的代码都是兼容webkit核心浏览器(chrome,safari),接下来实现对其他浏览器的兼容,并且加上一个鼠标悬浮加快转动的效果我们的风车就算完成啦。
css3的表现在各个浏览器下的表现不尽相同,chrome浏览器下效果最佳,safari下风车的柱子会有像素失真的问题(同是webkit核心,不知道为什么表现那么不一样),后续会尝试解决这个问题。
下面提供demo和下载地址
用html怎么制作风车,如何用css3实现风车效果相关推荐
- html 风车特效,用css3实现风车效果_html/css_WEB-ITnose
前面讲过css3可以替代很多js实现的效果,其实很多时候纯css3甚至可以替代图片,直接用css3就可以画出一些简单的图片.虽然css3画出来的图片效果可能不如直接用图片的好,实现起来也比较复杂,最麻 ...
- 如何用css3实现简单旋转的风车
如何用css3实现简单旋转的风车 在DW中想要实现旋转的风车就要使用关键帧keyframes来设置旋转,其实也没什么难度的.先设置它的样式,然后要用定位把它放到合适的位置就可以了. HTML的代码如下 ...
- php设置加载动画,如何用CSS3制作页面圆圈加载动画(附代码)
打开页面时,经常会遇到页面正在加载的情况,作为一个前端工程师,你知道如何用CSS3实现页面加载动画效果吗?这篇文章就和大家分享一个炫酷的圆圈加载动画效果的代码,有一定的参考价值,感兴趣的朋友可以看看. ...
- html背景纹理,如何用css3制作纹理背景
如何用css3制作纹理背景 看到题目大家也许会想,这是什么意思,一直想系统一下自己的css3的知识,才发现自己对css3的掌握程度简直不敢直视,很多地方都差了好多,暂且一点点来学吧! 记得有一天在微博 ...
- CSS动画编辑软件,如何用css3在app制作出如丝般顺滑的动画
原标题:如何用css3在app制作出如丝般顺滑的动画 在移动端上实现动画很简单. 在移动端上正确地实现动画也比较简单...如果你采纳我们的建议的话. 虽然现在每个人都会使用 CSS3 实现动画,但许多 ...
- 可控制转速CSS3旋转风车特效
以前制作网页动画一般使用javascript,现在已经有越来越多动动画使用纯CSS实现,并且动画的控制也可以使用CSS3实现,因为CSS 3来了,CSS 3的动画功能确实强大.以下是一个纯CSS3制作 ...
- ❤生日快乐网站模板HTML❤(精品制作)(HTML5+CSS3+JS)
生日快乐网站模板HTML(精品制作)(HTML5+CSS3+JS) 最近姐姐的生日快到了,想着也没有什么礼物送给她,恰好因为CTF的原因学了点HTML和JavaScript,就做了两个网页,当然因为网 ...
- html怎么制作3D字体,用CSS3制作3D文字效果代码实例教程
这个简单的CSS文本阴影教程将一步步教你如何通过堆叠多层阴影来创建3D文字,然后进一步利用CSS3的transform和transition属性来实现鼠标移过字体放大的效果. 阿里西西web开发网为大 ...
- css3蒲公英飘动效果_CSS3 Animation制作飘动的浮云和星星效果
带平行视差效果的星星 先看效果: 下面我们利用CSS3的animation写出这样的动画来,要点就是: 用动画不停改变背景图片位置; 动画高为无限循环; 在页面放三个DIV,首先将他们大小铺满整个窗口 ...
最新文章
- 计算机软件uml,计算机软件——UML旅游管理系统
- JAVA 文件读写大全
- 【深度学习】重大里程碑!VOLO屠榜CV任务,无需额外数据,首个超越87%的模型...
- java web随机抽取_java实现随机抽取奖品工具类
- 文件上传案例——客户端和服务端套接字
- 祝贺王远当选为中国区第二位 Teams MVP
- 找对象不能只看TA的外表
- oracle虚拟机字符集,更改虚拟机上的oracle字符集
- MySQL 字段默认值该如何设置
- OSPF高级特性——LSA-3(Network Summary LSA)的过滤、路由协议——管理距离的修改、外部路由的metric值的修改
- jsfor循环终止_详解如何在JS代码中消灭for循环
- 启动、停止和重新启动vcenter服务
- 攻击者利用7号信令(SS7)中的漏洞从德国银行偷取钱财
- 三险一金包括什么?三险和五险有什么区别?
- 新在线一键制作表白网系统源码
- 搜索引擎是如何评估网页内容优劣的
- app三种工具的元素定位与swipe 滑动
- 天然“降脂药”,帮你“吃掉”血脂!
- Android Studio 4.1 发布
- 【工业机器人】两分钟读懂工业机器人的设计过程