CSS3 skew倾斜、rotate旋转动画 

导读:CSS3skew倾斜、rotate旋转动画,我们实现一个对象的一组连续动画需要通过JavaScript或Jquery编写,若需要实现倾斜、旋转之类的动画难度将更高(我还没试过用JavaScript或Jq,很多时候只能依靠画图工具制作此类动画文件,也不用画图工作制作动画文件,就能在网页上实现倾斜、旋转之类的动画效果多好,其中就包含很多动画示例,今天分享使用html+css3实现skew倾斜、ro

CSS3 skew倾斜、rotate旋转动画 

CSS3 skew倾斜、rotate旋转动画

css3出现之前,我们实现一个对象的一组连续动画需要通过JavaScript或Jquery编写,脚本代码较为复杂;

若需要实现倾斜、旋转之类的动画难度将更高(我还没试过用JavaScript或Jquery如何实现),而且即使能实现估计花的时间代价及维护难度是很大的,很多时候只能依靠画图工具制作此类动画文件;

有时候在想如果不用脚本语言,也不用画图工作制作动画文件,就能在网页上实现倾斜、旋转之类的动画效果多好。

最近挤出一些业余时间学习CSS3,其中就包含很多动画示例,花了点时间学习和整理

今天分享使用html+css3实现skew倾斜、rotate旋转动画,我们先看最终效果图(我这里为了演示效果,就用QQ屏幕截成多张图片,然后制作成gif动画给大家简单展示下,效果不好请大家多多包涵)

图1

具体步骤如下:

1、放置两个div,一个作为容器(图1中绿色背景部分 id=\),另一个作为动画元素(图1中黄色背景部分 id=\)

HTML代码:

CSS代码(设置容器及动画元素默认样式):

#warp { } #box { height: 40px; width: 320px; height: 320px; background: #6FDE82; margin: 20px auto; } 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; } 代码解析:

1. css3自定义动画需要使用@keyframes规则,具体请看CSS3 @keyframes 规则

2. 设置动画执行进度

本示例中定义了 0% 20% 22% 30% 40% 50% 55% 60% 65%几个动画进度,

百分比到底代表什么意思?

举例说明:如果整个动画执行10秒,那么20%就代表当动画执行到2秒时的效果。所以整个自定义动画翻译过来就是在每个执行进度中定义css样式(比如 width,height,color等),这样就形成了连贯的动画效果。执行进度百分比根据实际情况可自行调整。

注意:该执行进度并非一定要设置100%,如本示例中仅设置到65%,这就意味着剩下的35%就由css3自行完成动画回归到原始状态(大家可以试试)

3. 元素倾斜(元素变形)、旋转(元素不变形)

本示例中用到倾斜及旋转动画,倾斜使用skew(),参数为倾斜度数;旋转使用rotate(),参数为旋转度数;

博泰典藏网btdcw.com包含总结汇报、外语学习、表格模板、初中教育、高中教育、农林牧渔、求职职场、教学研究以及CSS3 skew倾斜、rotate旋转动画 等内容。

本文共2页12