<div id="square" class="container animated">上下晃動</div> /** * transform-origin 設置旋轉元素的基點位置 * animation-name 設置動畫名稱 * animation-duration 設置動畫時間 * animation-fill-mode 設置播放後的狀態 * animation-iteration-count 設置循環播放的次數 * transition-timing-function: cubic-bezier 貝塞爾曲線效果,它有四個值,指在X軸與Y軸的兩個曲線的點,第一個點:X1 Y1;第二個點:X2 Y2 * transform: translate3d 設置動畫Z軸位移幾個元素,表示只在Z軸上移動 * * 須要注意:transform: translate3d 不等於 transform: translateZ */ .animated { animation-duration: 1s; /*動畫時間*/ animation-fill-mode: both; /*播放後的狀態*/ } .animated { animation-iteration-count: infinite; /*動做循環的次數:infinite 無限循環*/ } .animated { animation-duration: 2s; /*動畫時間*/ } .container { background: #2D97DB; width: 90%; height: 90%; padding: 100px; margin: 20px auto; font-family: "微軟雅黑"; font-size: 40px; color: white; text-align: center; line-height: 90%; } .container:hover{ animation-name:container; /*動畫的名稱*/ transform-origin: center bottom; /*設置動畫旋轉元素的基點爲:居中靠下*/ cursor: pointer; } @keyframes container{ 0%, 100%, 20%, 50%, 80% { transition-timing-function: cubic-bezier(0.215,.61,.355,1); /*貝塞爾曲線 : X1 Y1 X2 Y2*/ transform: translate3d(0,0,0); /*設置只在Z軸上移動*/ } 40%, 43%{ transition-timing-function: cubic-bezier(0.755,0.50,0.855,0.060); transform: translate3d(0,-30px,0); } 70%{ transition-timing-function: cubic-bezier(0.755,0.050,0.855,0.060); transform: translate3d(0,-15px,0); } 90%{ transform: translate3d(0,-4px,0); } }