在CSS3動畫中,可以通過調整動畫的時間函數來實現先慢后快的效果。所謂時間函數,就是定義動畫每個階段執行速度的函數。
.animate { animation-duration: 2s; /*動畫總時長2s*/ animation-timing-function: ease-in-out; /*時間函數為先慢后快*/ animation-iteration-count: infinite; /*無限循環*/ } @keyframes myAnimation { 0% { transform: rotate(0deg); opacity: 0; } 50% { transform: rotate(180deg); opacity: 0.5; } 100% { transform: rotate(360deg); opacity: 1; } }
在上述代碼中,animation-timing-function屬性控制了動畫的時間函數,用ease-in-out表示先慢后快。而在關鍵幀中,0%表示動畫開始時的狀態,50%表示中間位置的狀態,100%表示結束時的狀態。通過調整每個階段的屬性值,就可以實現想要的動畫效果。