使用 CSS3 製作逐個淡入的動畫效果

HTML:
<div class="box fade-in one">
  look at me fade in
</div>

<div class="box fade-in two">
  Oh hi! i can fade too!
</div>

<div class="box fade-in three">
  Oh hi! i can fade three!
</div>


CSS:
/* 使用 keyframes 來決定物件的開始和結束狀態 */
@-webkit-keyframes fadeIn { from { opacity:0; } to { opacity:1; } }
@-moz-keyframes fadeIn { from { opacity:0; } to { opacity:1; } }
@keyframes fadeIn { from { opacity:0; } to { opacity:1; } }

.fade-in {
 opacity:0;  /* 一開始讓東西消失 */
 -webkit-animation:fadeIn ease-in 1;  /* 呼叫命名為 fadeIn 的 keyframe, 使用 ease-in 動畫效果並且只重複執行一次 */
 -moz-animation:fadeIn ease-in 1;
 animation:fadeIn ease-in 1;

 -webkit-animation-fill-mode:forwards;  /* 確保在動畫完成後,我們會保持在最後的 keyframe 值 (opacity: 1)*/
 -moz-animation-fill-mode:forwards;
 animation-fill-mode:forwards;

 -webkit-animation-duration:1s;
 -moz-animation-duration:1s;
 animation-duration:1s;
}

.fade-in.one {
-webkit-animation-delay: 0.7s;
-moz-animation-delay: 0.7s;
animation-delay: 0.7s;
}

.fade-in.two {
-webkit-animation-delay: 1.2s;
-moz-animation-delay:1.2s;
animation-delay: 1.2s;
}

.fade-in.three {
-webkit-animation-delay: 1.6s;
-moz-animation-delay: 1.6s;
animation-delay: 1.6s;
}

/*---建立一個基本的 box ---*/
.box{
width: 200px;
height: 200px;
position: relative;
margin: 10px;
float: left;
border: 1px solid #333;
background: #999;
}

留言