CSS3与动画有关的属性transition、animation、transform对比

简介:

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

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

浏览器兼容性

CSS3 transform 属性

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

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

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

Opera 只支持 2D 转换。

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

CSS3 animation 属性    

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

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

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

用法:

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

CSS3 transition 属性

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

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

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

用法:

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

其他对比

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

  • duration

  • timing-function

  • delay

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

  • animation-direction

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

简写形式对比:

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

animation开头的为动画名称,所以这里我们要先定义动画如何变换:
1
2
3
@keyframes tang 1 {from { left : 0px ;}to { left : 200px ;}}
 
@-webkit-keyframes tang 1  /*Safari and Chrome*/ {from { left : 0px ;}to { left : 200px ;}


因为浏览器兼容性,这里定义动画时也要写到。

from代表0%的时候,to 代表100%的时候。



本文转自 蓓蕾心晴 51CTO博客,原文链接:http://blog.51cto.com/beileixinqing/1931752,如需转载请自行联系原作者

相关文章
|
23天前
|
前端开发 搜索推荐 UED
实现 CSS 动画效果的兼容性
【10月更文挑战第16天】实现 CSS 动画效果的兼容性需要对不同浏览器的特性有深入的了解,并采取适当的策略和方法。通过不断的实践和优化,你可以在各种浏览器上创造出流畅、美观且兼容的动画效果,为用户带来更好的体验。在实际开发中,要密切关注浏览器的发展动态,及时掌握最新的兼容性技巧和解决方案,以确保你的动画设计能够在广泛的用户群体中得到良好的呈现。
|
2天前
|
Web App开发 前端开发 JavaScript
如何在不牺牲动画效果的前提下,优化 CSS3 动画的性能?
如何在不牺牲动画效果的前提下,优化 CSS3 动画的性能?
6 1
|
15天前
|
Web App开发 前端开发 iOS开发
css所有缩写属性,CSS属性简写整理
css所有缩写属性,CSS属性简写整理
13 1
|
28天前
|
前端开发 JavaScript API
探索 CSS Houdini:轻松构建酷炫的 3D 卡片翻转动画
本文通过构建一个 3D 翻卡动画深入探讨了 CSS Houdini 的强大功能,展示了如何通过 Worklets、自定义属性、Paint API 等扩展 CSS 的能力,实现高度灵活的动画效果。文章首先介绍了 Houdini 的核心概念与 API,并通过构建一个动态星空背景、圆形进度条以及交互式 3D 翻卡动画的实际示例,展示了如何利用 CSS Houdini 赋予网页设计更多创造力。最后,还演示了如何将这种 3D 翻卡效果集成到公司网站中,提升用户体验。CSS Houdini 的创新能力为网页设计带来了前所未有的灵活性,推动了前端开发迈向新的高度。
24 0
探索 CSS Houdini:轻松构建酷炫的 3D 卡片翻转动画
|
1月前
|
前端开发
CSS 中哪些属性可以继承
在 CSS 中,属性分为可继承与不可继承。可继承属性会在子元素中沿用父元素的样式设定。常见可继承属性包括:文本属性(如 `font-family`, `color`),列表属性(如 `list-style`),表格布局属性(如 `border-collapse`),以及其他如 `visibility` 和 `direction` 等属性。正确理解这些属性有助于更高效地进行样式设计。
|
15天前
|
前端开发
css简写属性
css简写属性
24 0
|
1月前
|
前端开发 JavaScript
如何在CSS中添加自定义属性
如何在CSS中添加自定义属性
11 0
|
1月前
|
前端开发
运用CSS伪类与属性,巧妙实现背景图片旋转效果
运用CSS伪类与属性,巧妙实现背景图片旋转效果
25 0
|
1月前
|
前端开发
哪些 CSS 属性可以继承?
哪些 CSS 属性可以继承?
41 0
|
1月前
|
前端开发
CSS 动画介绍及语法
CSS 动画介绍及语法
27 0

热门文章

最新文章