HTML火苗動畫特效是一種能夠提升網頁視覺效果的動畫特效。以下是一個基于HTML、CSS和JavaScript實現的火苗動畫特效代碼:
/* 創建火苗樣式 */ @keyframes flame { 0% { transform: translate(-50%, 0); opacity: 0; } 20% { transform: translate(-50%, 50%); opacity: 1; } 80% { transform: translate(-50%, 150%); opacity: 0; } 100% { transform: translate(-50%, 200%); opacity: 0; } } /* 創建火苗元素 */ .flame { position: absolute; top: 100px; left: 50%; width: 10px; height: 100px; background: radial-gradient(circle, #FD9426, #F9A01B, #F6861F, #F46C24, #F3532B); transform-origin: 50% 100%; animation-name: flame; animation-duration: 1.5s; animation-iteration-count: infinite; } /* 創建火苗組元素 */ .flames { position: relative; width: 100%; height: 500px; }
通過keyframes動畫制定了火苗的四個變化狀態,分別是:初始狀態(opacity為0)、輕微上升和燃燒狀態(opacity為1)、持續燃燒和下降狀態(opacity為0),以及結束狀態(opacity為0)。
通過設置flame元素的position為absolute,top和left定位為50%實現了火苗的上下浮動以及左右移動,同時使用transform-origin實現了火苗基于底部中點的轉動效果。flames元素的position為relative,可以使所有flame元素相對于flames元素的位置進行絕對定位。