純css實(shí)現(xiàn)自動+手動圖片輪播效果

1.圖片自動輪播
創(chuàng)建2個盒子,一個盒子進(jìn)行輪播圖展示,一個盒子用來承載圖片
<body> <!-- 創(chuàng)建外部展示容器 --> <div class="banner-container"> <!-- 創(chuàng)建圖片儲存容器 --> <div class="banner-img-container"> <img src="./img/banner01.png" alt=""> <img src="./img/banner02.png" alt=""> <img src="./img/banner03.png" alt=""> <img src="./img/banner04.png" alt=""> <img src="./img/banner05.png" alt=""> </div> </div> </body>
CSS重置reset.css & normalize.css,在寫頁面時,由于HTML標(biāo)簽自帶一些CSS屬性,導(dǎo)致在調(diào)試樣式的時候會出現(xiàn)各種奇怪的問題,為了大概率避免這些問題,在寫CSS之前可以引用一下代碼。
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video { margin: 0; padding: 0; border: 0; font-size: 100%; font: inherit; vertical-align: baseline; } /* HTML5 display-role reset for older browsers */ article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display: block; } body { line-height: 1; } ol, ul { list-style: none; } blockquote, q { quotes: none; } blockquote:before, blockquote:after, q:before, q:after { content: ''; content: none; } table { border-collapse: collapse; border-spacing: 0; }
autoMatic.css,通過創(chuàng)建動畫,來實(shí)現(xiàn)圖片的輪播,動畫就是將一套 CSS 樣式逐漸變化為另一套樣式。在動畫過程中,能夠多次改變這套 CSS 樣式。
/* 自動輪播樣式 */ .banner-container{ width:1200px; height:400px; /* 輪播圖居中 */ margin:1rem auto; /* 隱藏超出展示容器的內(nèi)容 */ overflow: hidden; position: relative; } .banner-container .banner-img-container { width:6000px; height:400px; overflow: hidden; position: absolute; /* 開啟彈性盒,讓圖片橫向排列 */ display: flex; /* animation,@keyframes 搭配使用 run為自定義名稱,10s時間*/ animation: run 10s ease infinite; } .banner-container .banner-img-container img{ width:1200px; height:100%; } /* 動畫關(guān)鍵幀 */ /* 以百分比來規(guī)定改變發(fā)生的時間,或者通過關(guān)鍵詞 "from" 和 "to",等價于 0% 和 100%。0% 是動畫的開始時間,100% 動畫的結(jié)束時間。 */ @keyframes run { 0%,10%{ /* margin-left: 0; */ transform: translateX(0); } 20%,30%{ /* margin-left: -1200px;; */ transform: translateX(-1200px); } 40%,50%{ /* margin-left: -2400px; */ transform: translateX(-2400px); } 60%,70%{ /* margin-left: -3600px; */ transform: translateX(-3600px); } 80%,90%{ /* margin-left: -4800px; */ transform: translateX(-4800px); } 100%{ /* margin-left: 0; */ transform: translateX(0); } }
2.圖片手動輪播
錨 URL - 指向頁面中的錨,即指向圖片存儲路徑
<!-- 創(chuàng)建外部展示容器 --> <div class="banner-container"> <input type="radio" name="radio-set" checked="checked" id="banner-control-1"/> <a class="banner-nav-a" href="#banner01"></a> <input type="radio" name="radio-set" id="banner-control-2"/> <a class="banner-nav-a" href="#banner02"></a> <input type="radio" name="radio-set" id="banner-control-3"/> <a class="banner-nav-a" href="#banner03"></a> <input type="radio" name="radio-set" id="banner-control-4"/> <a class="banner-nav-a" href="#banner04"></a> <input type="radio" name="radio-set" id="banner-control-5"/> <a class="banner-nav-a" href="#banner05"></a> <!-- 創(chuàng)建圖片儲存容器 --> <div class="banner-img-container"> <img id="banner01" src="./img/banner01.png" alt=""> <img id="banner02" src="./img/banner02.png" alt=""> <img id="banner03" src="./img/banner03.png" alt=""> <img id="banner04" src="./img/banner04.png" alt=""> <img id="banner05" src="./img/banner05.png" alt=""> </div> </div>
manual.css
/* 手動輪播樣式 */ .banner-container{ width:1200px; height:400px; margin:1rem auto; overflow: hidden; position: relative; } .banner-container .banner-img-container { width:6000px; height:400px; overflow: hidden; position: absolute; display: flex; transition: transform 0.6s ease; } .banner-container .banner-img-container img{ width:100%; height:100%; } /* 輪播圖圓點(diǎn)樣式 */ .banner-container a { width:24px; height:24px; background:#87c8eb; position: absolute; bottom:1rem; border-radius: 100%; margin:0; z-index: 1; } .banner-container input{ width:24px; height:24px; position: absolute; bottom:1rem; margin:0; cursor: pointer; z-index: 2; opacity: 0; } /* 設(shè)置導(dǎo)航圓點(diǎn)偏移量(居中布局)*/ #banner-control-1,#banner-control-1 + .banner-nav-a{ left: 30%; } #banner-control-2,#banner-control-2 + .banner-nav-a{ left: 40%; } #banner-control-3,#banner-control-3 + .banner-nav-a{ left: 50%; } #banner-control-4,#banner-control-4 + .banner-nav-a{ left: 60%; } #banner-control-5,#banner-control-5 + .banner-nav-a{ left: 70%; } /* 設(shè)置高亮 */ /*當(dāng) input 被選中時 他的兄弟級a標(biāo)簽高亮展示*/ input:checked + .banner-nav-a { background-color: #ad244f; } /* 設(shè)置輪播圖動畫 */ #banner-control-1:checked ~ .banner-img-container{ transform: translateX(0px); } #banner-control-2:checked ~ .banner-img-container{ transform: translateX(-1200px); } #banner-control-3:checked ~ .banner-img-container{ transform: translateX(-2400px); } #banner-control-4:checked ~ .banner-img-container{ transform: translateX(-3600px); } #banner-control-5:checked ~ .banner-img-container{ transform: translateX(-4800px); }
3.補(bǔ)充內(nèi)容
最后附布局引用圖
css文件引用
到此這篇關(guān)于純css實(shí)現(xiàn)圖片輪播(自動+手動)的文章就介紹到這了,更多相關(guān)css圖片輪播內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持腳本之家!
相關(guān)文章
- 今天我們學(xué)習(xí)如何使用CSS創(chuàng)建一個炫酷的圖片輪播組件。感興趣的朋友跟隨小編一起看看吧2019-05-24
- 這篇文章主要介紹了原生CSS實(shí)現(xiàn)文字無限輪播的通用方法,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-03-24
- 這篇文章主要介紹了CSS3簡易切割輪播圖的實(shí)現(xiàn)代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)2020-12-09
純css實(shí)現(xiàn)輪播圖banner自動輪換效果
這篇文章主要介紹了純css實(shí)現(xiàn)輪播圖banner自動輪換效果,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-09-15HTML+CSS+JS實(shí)現(xiàn)堆疊輪播效果的示例代碼
這篇文章主要介紹了HTML+CSS+JS實(shí)現(xiàn)堆疊輪播效果,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-09-08通過css動畫實(shí)現(xiàn)一個表格滾動輪播效果
這篇文章主要介紹了通過css動畫實(shí)現(xiàn)一個表格滾動輪播效果,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下2020-03-11css實(shí)現(xiàn)帶箭頭和圓點(diǎn)的輪播
這篇文章主要介紹了css實(shí)現(xiàn)帶箭頭和圓點(diǎn)的輪播的相關(guān)資料,當(dāng)鼠標(biāo)移入圖片、圓點(diǎn)和方向鍵時,停止輪播,移除恢復(fù)。具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-08-28- 這篇文章主要介紹了純HTML和CSS實(shí)現(xiàn)JD輪播圖效果,需要的朋友可以參考下2018-06-01