关于css3 transition transform animation属性

1,transition属性

个人非常习惯用transition过度属性,简单易用。大家称他为animation简化版本。

例如:

.contain{

width: 392px; 

position: relative; 

bottom: -20px; 

opacity: 0;}

.contain.on{ 

bottom: 0; 

opacity: 1;

 transition:all 500ms ease-out 2s; 

 -webkit-animation:all 500ms ease-out 2s;

-moz-animation:all 500ms ease-out 2s;

-ms-animation:all 500ms ease-out 2s;

-o-animation:all 500ms ease-out 2s;}

当符合某种条件时为contain添加.on类,即可有延时2s 历时500ms的“由下往上 由透明变为实体”的动画效果。

语法:

transition: property duration timing-function delay;

但是需要注意的是:火狐浏览器对于transition最后一个数值要求很严格,如果延时为0时我们往往会忽略后面的S,则火狐上无效果!

2,animation属性

animation属性比transition属性多包含keyframes规则显式控制当前帧的属性,因而更加灵活。

举例:

@keyframes guideDown{
    0%,100%{background-position: 0 -352px;}
    50%{background-position: 0 -360px;}
}
@-webkit-keyframes guideDown{
    0%,100%{background-position: 0 -352px;}
    50%{background-position: 0 -360px;}
}
@-ms-keyframes guideDown{
    0%,100%{background-position: 0 -352px;}
    50%{background-position: 0 -360px;}
}
@-moz-keyframes guideDown{
    0%,100%{background-position: 0 -352px;}
    50%{background-position: 0 -360px;}
}

.moveDiv{ 

animation:guideDown 2s infinite;

-webkit-animation:guideDown 2s infinite; 

-moz-animation:guideDown 2s infinite; 

-ms-animation:guideDown 2s infinite; 

-o-animation:guideDown 2s infinite;

}

infinite是指无限次循环,如果只执行一次,只需限定animation-fill-mode:forwards即可。

语法:

animation: name duration timing-function delay iteration-count direction;

3,transform属性

transform看似是动画属性,其实是静态属性,写到style里只会直接显式,无变化过程。其用途主要用于特殊变形,定义多种静态样式,然后通过transition和animation制定如何改变属性值,进而实现动画效果。

其改变属性样式的属性有:translate3d(3d位置),totate(旋转),skew(倾斜度),scale(放大缩小),matrix(css矩阵)。

语法:

transform: none|transform-functions;


郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。