CSS3(animation, trasfrom)总结
Animation
样式写法:
格式: @-浏览器内核-keyframes 样式名 {}
标准写法(chrome safari不支持
1 2 3 4 5 6 7 8 9
| @keyframes [样式名] {
0% {left: 10px ; top : 20px;}
50% {left: 20px ; top : 30px;}
100% {left: 10px ; top : 20px;}
};
|
Firefox
1 2 3 4 5 6 7 8 9
| @-mz-keyframes [样式名] {
0% {left: 10px ; top : 20px;}
50% {left: 20px ; top : 30px;}
100% {left: 10px ; top : 20px;}
};
|
Chrome & Safari
1 2 3 4 5 6 7 8 9
| @-webkit-keyframes [样式名] {
0% {left: 10px ; top : 20px;}
50% {left: 20px ; top : 30px;}
100% {left: 10px ; top : 20px;}
};
|
Opern
1 2 3 4 5 6 7 8 9
| @-o-keyframes [样式名] {
0% {left: 10px ; top : 20px;}
50% {left: 20px ; top : 30px;}
100% {left: 10px ; top : 20px;}
};
|
其他写法
1 2 3 4 5 6 7
| @keyframes [样式名] {
from {left:0px; top:10px;}
to {left:20px; top: 50px;}
}
|
样式引用:
Style=”animation:样式名 时间 播放曲线”
eg:
样式
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| @-webkit-keyframes testRule {
20% {left:100px; top:50px;}
40% {left:50px; top: 100;}
60% {left:50px; top: 50;}
80% {left:100px; top: 0;}
100% {left:0px; top:0px;} } ```
元素
|
<div style=”position:absolute;width:100px; height:100px; -webkit-animation: testRule 5s linear”> </div>
0s- 1s DIV从最开始位置 到 {left:100px; top:50px;}
1s -2s {left:100px; top:50px;} 到 {left:50px; top: 100;}
2s -3s {left:50px; top: 100;} 到 {left:50px; top: 50;}
3s - 4s {left:50px; top: 50;} 到 {left:100px; top: 0;}
4s - 5s {left:100px; top: 0;} 到 {left:0px; top:0px;}
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
|
## CSS3 Animation 所具有的属性: |name |功能 | |----------|------------| |@keyframes|所有规定动画| |Aniamtion |所有规定动画简写属性, 除了animation-play-state 属性| |Animation-name| 规定@keyframes 动画的名称| |Animation-duration| 规定动画完成一个周期所花费的秒或毫秒. 默认是 0 | |Animation-timing-function|规定动画的速度曲线.默认是 0 | |Aniamtion-delay| 规定动画从什么时候开始 默认是0| |Aniamtion-iteration-count| 规定动画播放几遍 默认是1| |Animation-direction| 规定动画是否在下一周期逆向地播放. 默认是 ” normal”| |Animation-play-state|规定动画的当前状态 “paused” or “running” .默认是 ”running”| |Animation-fill-mode|规定对象动画时间之外的状态|
ps:Animation-play-state : 当在移动端使用时, 如果样式中存在trasfrom 则会不起作用(原因未知)
__属性对应__
|CSS3属性 | dom对象属性 | |----------|--------------------| |Aniamtion | Dom.style.webkitAnimation(根据浏览器内核而定)| | | Dom.style.animation| |Animation-name | Dom.style.webkitAnimationName| |Animation-duration|Dom.style.webkitAnimationDuration| |Animation-timing-function|Dom.style.webkitAnimationTimingFunction| |Aniamtion-delay|Dom.style.webkitAnimationDelay| |Aniamtion-iteration-count|Dom.style.webkitAnimationIterationCount| |Animation-direction|Dom.style.webkitAnimationDirection| |Animation-play-state|Dom.style.webkitAnimationPlayState| |Animation-fill-mode|Dom.style.webkitAnimationFillMode|
### 样式动态生成动态引入styleSheets
chorome中:
|
document.styleSheets //获取所有的样式链表文件内容
var sst = document.styleSheets[0]; //获取第0个样式链表
var str = “@keyframes name {0% {left:20px; } 100%{left:60px;}}”;
sst.insertRule(str);//将样式str 插入到 第0 个位置的样式文件中
sst.cssRules[0];//获取第0 个样式文件中第0个样式对象
Dom.style.webkitAnimationDelay = “-” + time + “s”;
dom.display = “none”;
dom.offsetHeight = “”;
dom.display = “block”;
# transform
<http://www.w3school.com.cn/cssref/pr_transform.asp>