CSS多張圖片循環播放是一種常見的網頁圖片展示方式。通過CSS樣式的設置,可以實現多張圖片在一個固定區域中無縫循環滑動。實現該效果需要以下步驟:
/*HTML結構*/ <div class="carousel"> <img src="img1.jpg"> <img src="img2.jpg"> <img src="img3.jpg"> </div> /*CSS樣式*/ .carousel { width: 100%; height: 300px; position: relative; overflow: hidden; } .carousel img { position: absolute; top: 0; left: 0; right: 0; bottom: 0; opacity: 0; transition: opacity 1s ease-in-out; } .carousel img:first-child { opacity: 1; } .carousel img.active { opacity: 1; } /*JavaScript代碼*/ var carousel = document.querySelector('.carousel'); var imgs = carousel.querySelectorAll('img'); var idx = 0; function slide() { imgs[idx].classList.remove('active'); idx = (idx + 1) % imgs.length; imgs[idx].classList.add('active'); } var interval = setInterval(slide, 2000);
首先,在HTML中定義一個固定寬高的div容器,并在其中嵌套多個img標簽,分別設置對應的圖片路徑。
在CSS中,設置.carousel的position屬性為relative,overflow屬性為hidden,以便控制圖片的超出區域隱藏。將.carousel img的position屬性設置為absolute,以便進行圖片位置的絕對定位。為了實現圖片的無縫循環滑動,需要定義多張圖片的opacity為0,只有第一張圖片的opacity為1,滑動過程中將當前圖片的opacity設置為1,其他圖片的opacity設置為0。
在JavaScript中,通過querySelector獲取.carousel元素和其中的所有img元素,并定義變量idx為當前顯示圖片的索引。slide()函數控制圖片的滑動過程,其中將當前圖片的active類移除,并通過idx變量計算出下一張圖片的索引,并將其添加active類。最后使用setInterval函數以每2000ms執行一次slide()函數,從而實現圖片的無縫循環滑動。
上一篇ajax前后端分離重定向
下一篇java規范和體系