1. 程式人生 > >CSS3實現動畫的兩種方式

CSS3實現動畫的兩種方式

logs del pin 屬性 cnblogs ase http eve 括號

1、設置transition設置過渡,添加transform設置形狀,形成動畫效果,如下:

.divadd {
	 transition: All 0.4s ease-in-out;
         -webkit-transition: All 0.4s ease-in-out;
         -moz-transition: All 0.4s ease-in-out;
         -o-transition: All 0.4s ease-in-out;

	 transform:rotate(360deg);
	-ms-transform:rotate(360deg); /* IE 9 */
	-webkit-transform:rotate(360deg); /* Safari and Chrome */
}

  此種方式比較小眾,不易控制

2、添加animation屬性,設置動畫效果,如下:

.a1 {
	position: absolute;
	animation: a1 3s;
	opacity: 0
}
@keyframes a1 {
	0% {left: 10px;opacity: 0}
	30% {left: 60px;background-color: pink;font-size:23px;opacity: 1}
	90% {left: 100px;background-color: red;opacity: 1}
	100% {left: 10px;opacity: 0}
} 

 

以上百分比後的方括號內可以添加各種屬性值,比如transform ratote、left。。。。。。添加left top等定位不要忘記設置position absolute。

所有屬性有:

    animation-name: myfirst;  //動畫名稱,用於animation引用
    animation-duration: 5s;  //動畫時長,
    animation-timing-function: linear;
    animation-delay: 2s;
    animation-iteration-count: infinite;
    animation-direction: alternate;
    animation-play-state: running;
animation-fill-mode
設置動畫結束後的狀態
none:默認值。不設置對象動畫之外的狀態,DOM未進行動畫前狀態
forwards:設置對象狀態為動畫結束時的狀態,100%或to時,當設置animation-direcdtion為reverse時動畫結束後顯示為keyframes第一幀
backwards:設置對象狀態為動畫開始時的狀態,(測試顯示DOM未進行動畫前狀態)
both:設置對象狀態為動畫結束或開始的狀態,結束時狀態優先


CSS3實現動畫的兩種方式