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背景图片的背景裁切、背景透明度、背景变换等效果运用
Dec 24 HTML / CSS
CSS3弹性盒模型flex box快速入门心得(必看篇)
May 24 HTML / CSS
CSS3 文字动画效果
Nov 12 HTML / CSS
HTML5之SVG 2D入门5—颜色的表示及定义方式
Jan 30 HTML / CSS
【HTML5】3D模型--百行代码实现旋转立体魔方实例
Dec 16 HTML / CSS
HTML5实现文件断点续传的方法
Jan 04 HTML / CSS
详解基于canvas的视频遮罩插件
Jan 04 HTML / CSS
HTML5之消息通知的使用(Web Notification)
Oct 30 HTML / CSS
鼠标滚轮事件和Mac触控板双指事件
Dec 23 HTML / CSS
div或img图片高度随宽度自适应的方法
Feb 06 HTML / CSS
使用Html5 Stream开发实时监控系统
Jun 02 HTML / CSS
AmazeUI 网格的实现示例
Aug 13 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
PHP中for与foreach的区别分析
2011/03/09 PHP
用PHP的超级变量$_GET获取HTML表单(Form) 数据
2011/05/07 PHP
PHP APC的安装与使用详解
2013/06/13 PHP
解析centos中Apache、php、mysql 默认安装路径
2013/06/25 PHP
PHP CURL 内存泄露问题解决方法
2015/02/12 PHP
PHP删除字符串中非字母数字字符方法总结
2019/01/20 PHP
JavaScript去掉数组中的重复元素
2011/01/13 Javascript
javascript学习笔记(十一) 正则表达式介绍
2012/06/20 Javascript
js的延迟执行问题分析
2014/06/23 Javascript
PHP+mysql+Highcharts生成饼状图
2015/05/04 Javascript
confirm确认对话框的实现方法总结
2016/06/17 Javascript
jQuery.ajax 跨域请求webapi设置headers的解决方案
2016/08/08 Javascript
vue-cli webpack 开发环境跨域详解
2017/05/18 Javascript
9种改善AngularJS性能的方法
2017/11/28 Javascript
vue中typescript装饰器的使用方法超实用教程
2019/06/17 Javascript
vue 父组件通过v-model接收子组件的值的代码
2019/10/27 Javascript
微信小程序中插入激励视频广告并获取收益(实例代码)
2019/12/06 Javascript
通过实例解析vuejs如何实现调试代码
2020/07/16 Javascript
使用graphics.py实现2048小游戏
2015/03/10 Python
python爬虫爬取快手视频多线程下载功能
2018/02/28 Python
Python入门必须知道的11个知识点
2018/03/21 Python
浅谈配置OpenCV3 + Python3的简易方法(macOS)
2018/04/02 Python
Python操作MySQL数据库的两种方式实例分析【pymysql和pandas】
2019/03/18 Python
Python计算不规则图形面积算法实现解析
2019/11/22 Python
python实现简单坦克大战
2020/03/27 Python
中国最大的名表商城:万表网
2016/08/29 全球购物
高级护理专业大学生求职信
2013/10/24 职场文书
党的群众路线教育实践活动心得体会(教师)
2014/10/31 职场文书
领导欢迎词范文
2015/01/26 职场文书
社团个人总结范文
2015/03/05 职场文书
2015建军节87周年演讲稿
2015/03/19 职场文书
联谊活动总结范文
2015/05/09 职场文书
二十年同学聚会感言
2015/07/30 职场文书
民事纠纷协议书
2016/03/23 职场文书
Node.js实现爬取网站图片的示例代码
2022/04/04 NodeJs
SpringBoot Http远程调用的方法
2022/08/14 Java/Android