CSS中過渡和動畫是Web開發中常用的兩個效果,它們都能制作出優美的特效,增強用戶體驗。但是,兩者有著明顯的區別。
過渡是CSS3新特性之一,它可以使元素從一種狀態過渡到另一種狀態,比如從透明變為不透明,或者從背景顏色變為另一種顏色。過渡是通過transition屬性來實現的,可以控制過渡的時間、延遲時間、過渡方式等屬性。例如:
.box{ transition: width 2s ease-in-out; } .box:hover{ width: 200px; }
上面的代碼表示當鼠標放到.box元素上時,它的寬度會過渡到200px,過渡時間為2秒,過渡效果為先加速后減速。
而動畫則更加復雜,可以制作出更加炫酷的效果。動畫是通過@keyframes規則實現的,它定義了從起始狀態到結束狀態之間的動畫序列。例如:
.box{ animation: bounce 2s infinite; } @keyframes bounce{ 0%{ transform: translateY(0); } 50%{ transform: translateY(-50px); } 100%{ transform: translateY(0); } }
上面的代碼表示.box元素將會不停地上下彈跳,每次彈跳耗時2秒。@keyframes規則定義了從初始狀態到最終狀態之間的變化,這里通過transform屬性來改變元素的位置。
綜上所述,過渡和動畫雖然都能制作出特效,但過渡更加簡單直觀,適用于簡單的狀態變化,而動畫則更加復雜,適用于需要制作復雜動態效果的場合。
上一篇css中邊框顏色的語法
下一篇css中輸入框的大小