- 1、本文档共9页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
CSS3 skew倾斜、rotate旋转动画
CSS3 skew倾斜、rotate旋转动画
css3出现之前,我们实现一个对象的一组连续动画需要通过JavaScript或Jquery编写,脚本代码较为复杂;
若需要实现倾斜、旋转之类的动画难度将更高(我还没试过用JavaScript或Jquery如何实现),而且即使能实现估计花的时间代价及维护难度是很大的,很多时候只能依靠画图工具制作此类动画文件;
有时候在想如果不用脚本语言,也不用画图工作制作动画文件,就能在网页上实现倾斜、旋转之类的动画效果多好。
最近挤出一些业余时间学习CSS3,其中就包含很多动画示例,花了点时间学习和整理
今天分享使用html+css3实现skew倾斜、rotate旋转动画,我们先看最终效果图(我这里为了演示效果,就用QQ屏幕截成多张图片,然后制作成gif动画给大家简单展示下,效果不好请大家多多包涵)
图1
具体步骤如下:
1、放置两个div,一个作为容器(图1中绿色背景部分?id=warp),另一个作为动画元素(图1中黄色背景部分?id=box)
HTML代码:
div?id=warp????div?id=boxWEB/div/div
CSS代码(设置容器及动画元素默认样式):
#warp?{ width:?320px; height:?320px; background:?#6FDE82; margin:?20px?auto;} #box?{ height:?40px; width:?40px; background:?yellow; position:?relative; top:?280px; left:?0; }
注意:#box{position: relative;}是为该元素接下来做动画做准备,因为动画过程中需要改变其位置,故这里使用相对定位
上述代码为基本的html css,大家应该没问题吧
此时效果如下:
2、使用CSS3 @keyframes自定义动画
CSS代码:
@keyframes?move?{ 0%?{ top:?280px; left:?0; transform:?skewX(0deg); width:?40px; height:?40px; } 20%?{ top:?0; left:?0; transform:?skewX(50deg); width:?60px; height:?20px; background:?red; } 22%?{ top:?0; left:?0; transform:?skewX(0deg); width:?40px; height:?40px; } 30%?{ top:?0; left:?0; transform:?skewX(0deg); width:?320px; height:?40px; } 40%?{ top:?0; left:?280px; transform:?skewX(0deg); width:?40px; height:?40px; background:?green; } 50%?{ top:?0; left:?280px; transform:?skewX(0deg); width:?20px; height:?320px; } 55%?{ top:?280px; left:?280px; transform:?skewX(0deg); width:?40px; height:?40px; background:?blue; } 60%?{ transform:?rotate(-90deg); transform-origin:?left?bottom; } 65%?{ transform:?rotate(-180deg); transform-origin:?left?top; }}
代码解析:
css3自定义动画需要使用@keyframes规则,具体请看CSS3 @keyframes 规则
设置动画执行进度
本示例中定义了 0% 20% ?22% 30% 40% 50% 55% 60% 65%几个动画进度,
百分比到底代表什么意思?
举例说明:如果整个动画执行10秒,那么20%就代表当动画执行到2秒时的效果。所以整个自定义动画翻译过来就是在每个执行进度中定义css样式(比如 width,height,color等),这样就形成了连贯的动画效果。执行进度百分比根据实际情况可自行调整。
注意:该执行进度并非一定要设置100%,如本示例中仅设置到65%,这就意味着剩下的35%就由css3自行完成动画回归到原始状态(大家可以试试)
元素倾斜(元
文档评论(0)