CSS雪碧圖動畫是一種CSS技術,它可以用一張圖片同時包含多個小圖片來優化網站性能,同時也可以用這些小圖片來實現動畫效果。下面我們探究它的具體實現。
/* 首先定義雪碧圖的樣式 */ .sprite { display: inline-block; background-image: url("sprite.png"); background-repeat: no-repeat; } /* 然后定義每個小圖片的位置和大小 */ .image1 { background-position: 0px 0px; width: 100px; height: 100px; } .image2 { background-position: -100px 0px; width: 100px; height: 100px; } .image3 { background-position: -200px 0px; width: 100px; height: 100px; } /* 接下來定義動畫的關鍵幀 */ @keyframes roll { 0% {transform: rotate(0deg);} 100% {transform: rotate(360deg);} } /* 最后將小圖片和動畫結合起來 */ .image1 { animation: roll 1s linear infinite; } .image2 { animation: roll 2s linear infinite; } .image3 { animation: roll 3s linear infinite; }
上面代碼中,我們首先定義了一個.sprite的樣式,它將整張雪碧圖顯示在頁面上。然后通過.image1、.image2、.image3類的定義,分別設置了每個小圖片的位置和大小。最后定義了一個關鍵幀動畫roll,讓每個小圖片都按照不同的速度和方式旋轉。將動畫應用到每個小圖片上,就實現了CSS雪碧圖動畫效果。
參考資料:https://www.w3schools.com/css/css3_sprites.asp上一篇css隔行換色教程
下一篇css隱藏視頻進度條