CSS背景輪播圖制作是一種常見的網(wǎng)頁設(shè)計(jì)技巧,通過交替切換背景圖片來實(shí)現(xiàn)圖片輪播的效果。下面將介紹一些實(shí)現(xiàn)方法。
/** CSS3動(dòng)畫實(shí)現(xiàn)輪播圖 **/ .slide { width: 100%; height: 500px; position: relative; overflow: hidden; } .slide > div { width: 100%; height: 100%; position: absolute; top: 0; left: 0; opacity: 0; z-index: 1; animation: slideshow 6s ease-in-out infinite; } .slide > div:nth-child(1) { background-image: url("slide1.jpg"); } .slide > div:nth-child(2) { background-image: url("slide2.jpg"); animation-delay: 2s; } .slide > div:nth-child(3) { background-image: url("slide3.jpg"); animation-delay: 4s; } @keyframes slideshow { 0% { opacity: 0; } 5% { opacity: 1; } 25% { opacity: 1; } 30% { opacity: 0; } 100% { opacity: 0; } }
以上代碼基于CSS3動(dòng)畫實(shí)現(xiàn),使用了animation屬性設(shè)定輪播時(shí)間和效果,并通過keyframes設(shè)定了輪播動(dòng)畫的詳細(xì)規(guī)則。使用nth-child設(shè)置輪播的圖片序號(hào),將多個(gè)背景圖片逐一積累:
/*使用jQuery實(shí)現(xiàn)輪播圖*/ $(document).ready(function() { var slideImages = ['slide1.jpg', 'slide2.jpg', 'slide3.jpg']; var i = 0; setInterval(function() { $('.slide').css('background-image', 'url(' + slideImages[i] + ')'); i++; if (i == slideImages.length) { i = 0; } }, 3000); });
上述代碼基于jQuery實(shí)現(xiàn)背景輪播,通過設(shè)定一個(gè)圖片數(shù)組和計(jì)時(shí)器實(shí)現(xiàn)背景圖片的快速切換。同時(shí)使用css的background-image屬性來設(shè)置背景圖片的地址,可針對(duì)不同的背景圖做出個(gè)性化換裝。
以上兩種方法各有優(yōu)劣,css3動(dòng)畫實(shí)現(xiàn)效果更炫麗,但兼容性較差,需要瀏覽器支持;jQuery方法普適性較好,但需要額外加載js庫(kù)。根據(jù)實(shí)際情況適用。