CSS3与动画有关的属性transition、animation、transform对比(史上最全版)


Posted in HTML / CSS onAugust 18, 2017

最近应公司需求,需要用css3做动画,终于把以前一直傻傻分不清楚的三个属性理解了。

索性在这里进行一个简单的对比,加深自己的记忆。

浏览器兼容性

CSS3 transform 属性

Internet Explorer 10、Firefox、Opera 支持 transform 属性。

Internet Explorer 9 支持替代的 -ms-transform 属性(仅适用于 2D 转换)。

Safari 和 Chrome 支持替代的 -webkit-transform 属性(3D 和 2D 转换)。

Opera 只支持 2D 转换。

transform:rotate(7deg);
-ms-transform:rotate(7deg);     /* IE 9 */
-moz-transform:rotate(7deg);     /* Firefox */
-webkit-transform:rotate(7deg); /* Safari 和 Chrome */
-o-transform:rotate(7deg);     /* Opera */

CSS3 animation 属性 

Internet Explorer 10、Firefox 以及 Opera 支持 animation 属性。

Safari 和 Chrome 支持替代的 -webkit-animation 属性。

注释:Internet Explorer 9 以及更早的版本不支持 animation 属性。

用法:

animation:mymove 5s infinite;
-webkit-animation:mymove 5s infinite; /* Safari 和 Chrome */

CSS3 transition 属性

Internet Explorer 10、Firefox、Opera 和 Chrome 支持 transition 属性。

Safari 支持替代的 -webkit-transition 属性。

注释:Internet Explorer 9 以及更早版本的浏览器不支持 transition 属性。

用法:

transition: width 2s;
-moz-transition: width 2s; /* Firefox 4 */
-webkit-transition: width 2s; /* Safari 和 Chrome */
-o-transition: width 2s;

其他对比

transition和animation属于动画属性,transform属于静态属性。
根据英文单词的理解:转换,变换,transform主要指位移、大小、位置、形状的转换,直接写该属性变换,得到的就是变换后的形状和位置。
transition和animation因为都属于动画属性,所以都具有以下
property
duration
timing-function
delay

属性、动画时间、动画形式、延迟时间对于animation,property变成了动画的名称animation独有的属性有:

animation-iteration-count
animation-direction
 一个要定义动画播放的次数,一个为定义动画是否轮流反向播放

简写形式对比:

transition属性:过渡,即css变化的过程的过渡,所以定义transition属性的意义为,当定义过transition的属性,发生了变化,都会按照这个过渡的动画进行转变,而不是生硬的直接转变,这样就为动画提供了很好的方式。一般我们写:
-webkit-transition:all 0.85s ease-in 0.1s;
-o-transition:all 0.85s ease-in 0.1s;
-moz-transition:all 0.85s ease-in 0.1s;
transition:all 0.85s ease-in 0.1s;
all代表这所有属性的变化都会按照这个过渡进行变化
animation写法:
-webkit-animation: tang1 0.5s ease 0s infinite alternate;
animation: tang1 0.5s ease 0s infinite alternate;
简写形式,animation后面多了动画次数和是否轮流反向播放

animation开头的为动画名称,所以这里我们要先定义动画如何变换:

@keyframes tang1
{
from {left:0px;}
to {left:200px;}
}

@-webkit-keyframes tang1 /*Safari and Chrome*/
{
from {left:0px;}
to {left:200px;}
}

因为浏览器兼容性,这里定义动画时也要写到。
from代表0%的时候,to 代表100%的时候。

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助~如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持!

HTML / CSS 相关文章推荐
CSS中几个与换行有关的属性简明总结
Apr 15 HTML / CSS
css3 media 响应式布局的简单实例
Aug 03 HTML / CSS
css3实现二维码扫描特效的示例
Oct 29 HTML / CSS
CSS3 实现时间轴动画
Nov 25 HTML / CSS
HTML5验证以及日期显示的实现详解
Jul 05 HTML / CSS
HTML5 script元素async、defer异步加载使用介绍
Aug 23 HTML / CSS
html5定位并在百度地图上显示的示例
Apr 27 HTML / CSS
推荐WEB开发者最佳HTML5和CSS3代码生成器
Nov 24 HTML / CSS
HTML5+css3:3D旋转木马效果相册
Jan 03 HTML / CSS
HTML中meta标签及Keywords
Apr 15 HTML / CSS
Canvas实现放大镜效果完整案例分析(附代码)
Nov 26 HTML / CSS
HTML5 新增内容和 API详解
Nov 17 HTML / CSS
CSS3 函数技巧 用css 实现js实现的事情(clac Counters Tooltip)
Aug 15 #HTML / CSS
浅谈CSS3中display属性的Flex布局的方法
Aug 14 #HTML / CSS
CSS3实现伪类hover离开时平滑过渡效果示例
Aug 10 #HTML / CSS
使用CSS3来代替JS实现交互
Aug 10 #HTML / CSS
css3实现wifi信号逐渐增强效果实例
Aug 09 #HTML / CSS
CSS3 实现弹幕的示例代码
Aug 07 #HTML / CSS
浅谈CSS3特性查询(Feature Query: @supports)功能简介
Jul 31 #HTML / CSS
You might like
对javascript和select部件的结合运用
2006/10/09 PHP
PHP 开发工具
2006/12/06 PHP
Yii框架获取当前controlle和action对应id的方法
2014/12/03 PHP
php readfile下载大文件失败的解决方法
2017/05/22 PHP
Extjs改变树节点的勾选状态点击按钮将复选框去掉
2013/11/14 Javascript
深入浅析NodeJs并发异步的回调处理
2015/12/21 NodeJs
jquery拖动层效果插件用法实例分析(附demo源码)
2016/04/28 Javascript
详解基于webpack和vue.js搭建开发环境
2017/04/05 Javascript
jQuery dateRangePicker插件使用方法详解
2017/07/28 jQuery
Vue动态组件实例解析
2017/08/20 Javascript
node-sass安装失败的原因与解决方法
2017/09/04 Javascript
vue安装遇到的5个报错及解决方法
2019/06/12 Javascript
JavaScript前端开发时数值运算的小技巧
2020/07/28 Javascript
Vue 的 v-model用法实例
2020/11/23 Vue.js
react中hook介绍以及使用教程
2020/12/11 Javascript
讲解Python中for循环下的索引变量的作用域
2015/04/15 Python
实例讲解Python中SocketServer模块处理网络请求的用法
2016/06/28 Python
python3 pillow生成简单验证码图片的示例
2017/09/19 Python
Python文本特征抽取与向量化算法学习
2017/12/22 Python
python web自制框架之接受url传递过来的参数实例
2018/12/17 Python
python 列表输出重复值以及对应的角标方法
2019/06/11 Python
Django 开发环境与生产环境的区分详解
2019/07/26 Python
Python和Anaconda和Pycharm安装教程图文详解
2020/02/04 Python
彻底搞懂 python 中文乱码问题(深入分析)
2020/02/28 Python
详解Python中pyautogui库的最全使用方法
2020/04/01 Python
python 实现非极大值抑制算法(Non-maximum suppression, NMS)
2020/10/15 Python
Python实现小黑屋游戏的完整实例
2021/01/06 Python
戴森比利时官方网站:Dyson BE
2020/10/03 全球购物
护理专业本科生自荐信
2013/10/01 职场文书
大专毕业生自我评价分享
2013/11/10 职场文书
房产继承公证书
2014/04/09 职场文书
2015元旦家电促销活动策划方案
2014/12/09 职场文书
同乡会致辞
2015/07/30 职场文书
机关干部正风肃纪心得体会
2016/01/15 职场文书
如何让vue长列表快速加载
2021/03/29 Vue.js
Java8中接口的新特性使用指南
2021/11/01 Java/Android