Transform / Transition / Animation 区别

来源:互联网 发布:ios数组动态添加元素 编辑:程序博客网 时间:2024/05/17 02:47

Transform


transform属性是静态属性,一旦写到style里面,将会直接显示作用,无任何变化过程。transform的主要用途是用来做元素的特殊变形,对于做设计的人来说并不是很陌生,简单的来说就是css 的图形变形工具。

具体的给设计师改变元素样式用的属性则有以下五个:

  • translate3d(x,y,z) 是用来控制元素的位置在页面上的三轴的位置的;
  • rotate(deg)是用来控制元素旋转角度的;
  • skew[x,y](deg) 这个属性是用来制作倾斜度的,做过设计的人可能会知道,这个是用来在2d里面创建3d透视图的时候必须的属性;
  • scale3d(x,y,z) 用来放大缩小效果,属性是比值;
  • matrix3d,css矩阵。通过这个矩阵属性,涵盖了上面所有的属性值,但是个人觉得可读性极差(全都是数字和单位,背起来有点模糊),目前没有理由推荐使用。

Transition

transition属性是一个简单的动画属性,非常简单非常容易用。可以说它是animation的简化版本,是给普通做简单网页特效用的。比如你有如下两个样式:

.position{    left:100px;    top:100px;}.animate{    -webkit-transition:left 0.5s ease-out;    left:500px;    top:500px;}

Animation

Flash里面有两个基础武器:时间轴和关键帧。而css keyframes的出现,则是提供了flash世界里面的这两个属性的合集。看一个简单的 keyframes 的示例:
@keyframes 'wobble'{  0%{   left:100px}   30%{   left:300px;}  100%{   left:500px;}}.animate{left:100px;   -webkit-animation:wobble 0.5s ease-out;   -webkit-animation-fill-mode:backwards;}

0 0
原创粉丝点击