今天就跟大家聊聊有關(guān)如何在css中實(shí)現(xiàn)幻燈片效果,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。
永濟(jì)網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián)公司,永濟(jì)網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為永濟(jì)1000多家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\外貿(mào)網(wǎng)站建設(shè)要多少錢,請(qǐng)找那個(gè)售后服務(wù)好的永濟(jì)做網(wǎng)站的公司定做!
下面我們就通過代碼來一步步實(shí)現(xiàn)幻燈片切換(淡入淡出)的效果:
1、建立html文件,編寫demo
首先我們要在頁面上設(shè)置圖像列表,包含在div盒子中。類似于以下內(nèi)容:
<div id="stage"> <a href="img/1.jpg"><img src="img/1.jpg" width="640" height="400"></a> <a href="img/2.jpg"><img src="img/2.jpg" width="640" height="400"></a> <a href="img/3.jpg"><img src="img/3.jpg" width="640" height="400"></a> <a href="img/4.jpg"><img src="img/4.jpg" width="640" height="400"></a> <a href="img/5.jpg"><img src="img/5.jpg" width="640" height="400"></a> <a href="img/6.jpg"><img src="img/6.jpg" width="640" height="400"></a> <a href="img/7.jpg"><img src="img/7.jpg" width="640" height="400"></a> <a href="img/8.jpg"><img src="img/8.jpg" width="640" height="400"></a> </div>
在此示例中,所有圖像都有鏈接,但這不是必需的。如果你刪除鏈接,你只需要改變一些CSS和JavaScript來引用'img'而不是'a'。
2、使用CSS來疊加圖像
以下是我們用于以下演示的CSS代碼:
#stage { margin: 1em auto; width: 382px; height: 292px; } #stage a { position: absolute; } #stage a img { padding: 10px; border: 1px solid #ccc; background: #fff; } #stage a:nth-of-type(1) { animation-name: fader; animation-delay: 4s; animation-duration: 1s; z-index: 20; } #stage a:nth-of-type(2) { z-index: 10; } #stage a:nth-of-type(n+3) { display: none; } @keyframes fader { from { opacity: 1.0; } to { opacity: 0.0; } }
通過將鏈接設(shè)置為position:absolute,我們將所有圖像從文檔流中取出并將它們堆疊在一起。然后,我們需要為#stage指定寬度和高度, 以便為幻燈片顯示在頁面上保留空間。這等于圖像尺寸加上填充(每邊10px)和邊框(每邊1px)。
然后,我們使用一些nth-of-type()選擇器將第一個(gè)圖像放在堆棧頂部,第二個(gè)圖像放在堆疊的后面,其余圖像隱藏在顯示器之外。
最后,我們將動(dòng)畫關(guān)鍵幀分配給頂部圖像,告訴它在設(shè)置opacity:0,淡出之前等待4秒。現(xiàn)在所缺少的只是一點(diǎn)JavaScript來將面對(duì)的圖像移動(dòng)到堆棧的底部,以便下一個(gè)圖像可以依次顯示和淡出。
3、使用JavaScript來觸發(fā)效果
這里需要的只是為keyframe 動(dòng)畫結(jié)束時(shí)觸發(fā)的圖像分配事件處理程序。它需要最重要的照片,并把它移到后面:
window.addEventListener("DOMContentLoaded", function(e) { var stage = document.getElementById("stage"); var fadeComplete = function(e) { stage.appendChild(arr[0]); }; var arr = stage.getElementsByTagName("a"); for(var i=0; i < arr.length; i++) { arr[i].addEventListener("animationend", fadeComplete, false); } }, false);
最上面的新圖像現(xiàn)在假設(shè)為 nth-of-type(1)屬性,包括關(guān)鍵幀動(dòng)畫--fader,依此類推其他圖像。
就是這樣!沒有臃腫的代碼,沒有插件,沒有庫,只有幾行vanilla JavaScript可以在所有現(xiàn)代瀏覽器中使用。
4、效果圖:
運(yùn)行以上代碼就可以獲得一個(gè)簡單的淡入淡出幻燈片:
看完上述內(nèi)容,你們對(duì)如何在css中實(shí)現(xiàn)幻燈片效果有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。
當(dāng)前文章:如何在css中實(shí)現(xiàn)幻燈片效果
網(wǎng)頁鏈接:http://www.rwnh.cn/article4/jipiie.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站改版、手機(jī)網(wǎng)站建設(shè)、App開發(fā)、營銷型網(wǎng)站建設(shè)、自適應(yīng)網(wǎng)站、網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)