動畫運(yùn)動曲線是指動畫元素在運(yùn)動過程中,速度和方向的變化方式。在 CSS 中,我們可以利用 transition 和 animation 屬性來實(shí)現(xiàn)動畫效果。在這兩個(gè)屬性中,都可以指定運(yùn)動曲線。
/* transition 屬性實(shí)現(xiàn)動畫效果 */ /* ease-in-out 為運(yùn)動曲線 */ div { transition: width 2s ease-in-out; } /* animation 屬性實(shí)現(xiàn)動畫效果 */ /* cubic-bezier() 為運(yùn)動曲線 */ @keyframes myAnimation { from { transform: translateX(0); } to { transform: translateX(100px); } } div { animation: myAnimation 2s cubic-bezier(.5, 0, .5, 1); }
在 CSS 中,我們可以使用四種預(yù)設(shè)曲線:ease、ease-in、ease-out、ease-in-out。這些曲線分別表示整個(gè)動畫過程中速度變化的情況。其中,ease 為默認(rèn)曲線。
/* 采用 ease 運(yùn)動曲線 */ div { transition: width 2s ease; }
如果預(yù)設(shè)的曲線不滿足我們的需求,還可以使用 cubic-bezier() 函數(shù)來自定義運(yùn)動曲線。這個(gè)函數(shù)需要指定 4 個(gè)值,分別對應(yīng)于動畫過程中的 4 個(gè)關(guān)鍵點(diǎn)。這 4 個(gè)值的取值范圍為 0-1。
/* 采用自定義運(yùn)動曲線 */ div { transition: width 2s cubic-bezier(.5, 0, .5, 1); }
在實(shí)際應(yīng)用中,我們可以通過不斷調(diào)整運(yùn)動曲線的值來實(shí)現(xiàn)不同的動畫效果。比如,我們可以通過使用 ease-in-out 運(yùn)動曲線來實(shí)現(xiàn)平滑的過渡效果,或者通過使用 ease-in 曲線來強(qiáng)調(diào)動畫的開始階段。