實現網頁中圖片輪播是很常見的效果,今天我們來講解如何使用CSS代碼來實現圖片輪播。
首先我們需要準備圖片和HTML結構,圖片可以使用img標簽引入,HTML結構可以使用ul和li標簽來實現,如下所示:
<div class="slider"> <ul class="slider-wrapper"> <li class="slider-item"><img src="image1.jpg"></li> <li class="slider-item"><img src="image2.jpg"></li> <li class="slider-item"><img src="image3.jpg"></li> </ul> </div>
接下來我們需要使用CSS來控制圖片的顯示和輪播效果。首先將ul標簽設置為一行不換行并且寬度為所有子元素寬度之和,這樣圖片就會水平排列呈一行。
.slider-wrapper { white-space: nowrap; width: calc(100% * 3); }
然后將li標簽設置為塊級元素并且寬度為一屏幕寬度,這樣每次只能顯示一張圖片,其他的圖片會隱藏。
.slider-item { display: inline-block; width: 100%; }
接下來使用CSS3過渡動畫技術來實現圖片的輪播效果。給ul標簽添加transform屬性和transition屬性,在transform屬性中設置translateX函數來實現平移效果,在transition屬性中設置動畫的持續時間和過渡方式,如下所示:
.slider-wrapper { white-space: nowrap; width: calc(100% * 3); transform: translateX(0); transition: transform 0.5s ease-in-out; }
最后使用JavaScript來實現圖片輪播的自動播放,這里使用setInterval函數來實現定時器,每隔一段時間就將ul標簽的transform屬性的值減去一屏幕寬度,從而實現圖片的平移,如下所示:
let sliderWrapper = document.querySelector('.slider-wrapper'); let screenWidth = window.innerWidth; let currentIndex = 0; setInterval(function() { currentIndex = currentIndex === 2 ? 0 : currentIndex + 1; sliderWrapper.style.transform = 'translateX(-' + currentIndex * screenWidth + 'px)'; }, 5000);
這樣就實現了一個簡單的圖片輪播效果。