CSS3動畫是現代網頁設計中必不可少的工具,通過它可以為頁面增添更豐富的交互效果,比如讓物體晃動起來。
要實現一個CSS3動畫,我們需要的是animation屬性。其中最基本的是animation-duration、animation-name和animation-timing-function。分別是指動畫時間、動畫名稱和動畫變化曲線。
.shake { animation-duration: 1s; animation-name: shake; animation-timing-function: ease-out; } @keyframes shake { 0% { transform: translateX(0); } 10% { transform: translateX(-10px) rotate(-5deg); } 20% { transform: translateX(10px) rotate(5deg); } 30% { transform: translateX(-10px) rotate(-5deg); } 40% { transform: translateX(10px) rotate(5deg); } 50% { transform: translateX(-10px) rotate(-5deg); } 60% { transform: translateX(10px) rotate(5deg); } 70% { transform: translateX(-10px) rotate(-5deg); } 80% { transform: translateX(10px) rotate(5deg); } 90% { transform: translateX(-10px) rotate(-5deg); } 100% { transform: translateX(0); } }
如上代碼所示,我們定義了一個名為shake的動畫,并應用于一個class="shake" 的元素上。在@keyframes中,我們列出了動畫在不同時刻該改變的樣式,通過transform屬性實現元素的位移和旋轉。注意到以上示例中,我們設了11個關鍵幀,使得動畫具有更晃動的效果。
除了上述基本的animation屬性外,我們還可以擴展到更多更高級的動畫以及交互效果,比如ripple、drag等。
總之,CSS3的動畫功能十分強大,我們只需要充分發揮想象力,就能為網頁增添更多生動有趣的元素。