CSS可以很方便地實現切換輪播圖,通過設置圖片的顯示與隱藏來實現。下面是實現過程:
HTML部分: <div class="carousel"> <img src="image1.jpg" class="active"> <img src="image2.jpg"> <img src="image3.jpg"> </div> CSS部分: .carousel { position: relative; width: 100%; height: 400px; overflow: hidden; } .carousel img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; opacity: 0; transition: opacity 1s; } .carousel .active { opacity: 1; } JavaScript部分: var images = document.getElementsByTagName("img"); var currentIndex = 0; setInterval(function() { images[currentIndex].classList.remove("active"); currentIndex = (currentIndex + 1) % images.length; images[currentIndex].classList.add("active"); }, 2000);
首先,HTML部分需要一個外層div作為容器,并將所有要輪播的圖片放在其中。默認第一張圖片需要顯示,其他圖片需要使用CSS設置為透明(opacity: 0)并隱藏,使用類名來標識哪一張圖片是當前顯示的(例如.active)。
CSS部分需要設置.carousel的寬、高、隱藏溢出的部分。所有圖片需要使用position: absolute使之重疊,top和left都設置為0,然后自適應寬高(width: 100%和height: 100%)。添加opacity屬性為0的影響是實現漸隱漸顯效果。.active類的opacity值為1時,則成為當前顯示的圖片。
JavaScript部分實現輪播效果,設置一個計時器函數,每隔一定時間(2000毫秒)自動替換當前顯示的圖片。將當前圖片的類名.active移除,下一張圖片的類名.active添加。其中,currentIndex用于記錄當前顯示的圖片序號,通過取余運算實現輪播效果。
上一篇css 內置盒陰影
下一篇css 元素上下空格