CSS動畫和過渡都是用來實現一些視覺效果的技術,但是它們的實現方式和作用有所不同。
CSS過渡
/* 過渡效果 */ .box { width: 100px; height: 100px; background-color: red; transition: width 1s; } .box:hover { width: 200px; }
CSS過渡是用來實現簡單的狀態變化效果,比如當鼠標懸停在一個元素上時,它的寬度變化。過渡可以讓這種變化看起來更加平滑自然,而不是突兀。
在上面的代碼中,我們給.box元素設置了過渡,當它的寬度發生變化時,會用1秒的時間來過渡。當鼠標懸停在.box上時,它的寬度會從100px變成200px,這個過程會平滑地過渡。
CSS動畫
/* 動畫效果 */ @keyframes move { from { transform: translateX(0); } to { transform: translateX(100px); } } .box { width: 100px; height: 100px; background-color: red; animation: move 1s ease-in-out; }
CSS動畫是用來實現更加復雜和自定義的效果,可以用來創建動態的、連續的動畫效果。我們通過指定關鍵幀(關鍵時刻)來控制動畫的執行過程。
在上面的代碼中,我們通過@keyframes定義了一個名為move的動畫,這個動畫會將.box元素從初始位置向右移動100px。然后我們給.box元素設置了這個動畫,它會在1秒鐘內執行,使用了ease-in-out的動畫曲線。
總結來說,CSS過渡和動畫都可以用來實現視覺效果,但它們的應用場景和使用方式略有不同,具體需根據實際情況來選擇。