中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久

使用html5+css3來實現(xiàn)slider切換效果告別javascript+css
來源:易賢網(wǎng) 閱讀:2490 次 日期:2016-07-23 14:09:31
溫馨提示:易賢網(wǎng)小編為您整理了“使用html5+css3來實現(xiàn)slider切換效果告別javascript+css”,方便廣大網(wǎng)友查閱!

提到slider,過去一直都是用css+js來配合實現(xiàn)相關(guān)的切換效果。聽過大家一直討論使用html5+css3的實現(xiàn)方式,自己卻一直沒有動手實現(xiàn)過。好吧,這次我有時間來玩下css3了,感興趣的朋友可以了解下

開始進入正題,提到slider,過去一直都是用css+js來配合實現(xiàn)相關(guān)的切換效果。聽過大家一直討論使用html5+css3的實現(xiàn)方式,自己卻一直沒有動手實現(xiàn)過。好吧,這次我有時間來玩下css3了。其實,我也是被微博上的一條消息給吸引過來的,看到別人實現(xiàn)的效果很贊,然后自己就有了動手做一把的沖動。

一、效果圖

名單

跟過去用js來實現(xiàn)的效果看上去差不了太多,但是整體感覺很優(yōu)雅。好吧,css3的強大之處在于,我寫了很少的代碼,就實現(xiàn)了比較復(fù)雜的效果。但是這個示例也有不太完美的地方,就是在兩張圖片切換的時候,如果中間間隔有圖片,那么在css3動畫的執(zhí)行過程中還是會看到,比較不給力。不過想想,這可是純css3來實現(xiàn)的效果啊,用js來實現(xiàn)的復(fù)雜的html結(jié)構(gòu)變動在這里可看不到,所以上面的效果很難簡單用css3來實現(xiàn)。

二、html結(jié)構(gòu) 

代碼如下:

<div id="bd">

<input checked type="radio" name="slider" id="slider1">

<input type="radio" name="slider" id="slider2">

<input type="radio" name="slider" id="slider3">

<input type="radio" name="slider" id="slider4">

<input type="radio" name="slider" id="slider5">

<div id="sliders">

<div id="overflow">

<div class="inner">

<article>

<div class="info">

<h1>Title1</h1>

<a href="#">Description1</a>

</div>

<img src="img/pic1.png"/>

</article>

<article>

<div class="info">

<h1>Title2</h1>

<a href="#">Description2</a>

</div>

<img src="img/pic2.png"/>

</article>

<article>

<div class="info">

<h1>Title3</h1>

<a href="#">Description3</a>

</div>

<img src="img/pic3.png"/>

</article>

<article>

<div class="info">

<h1>Title4</h1>

<a href="#">Description4</a>

</div>

<img src="img/pic4.png"/>

</article>

<article>

<div class="info">

<h1>Title5</h1>

<a href="#">Description5</a>

</div>

<img src="img/pic5.png"/>

</article>

</div>

</div>

</div>

<div id="controls">

<label for="slider1"></label>

<label for="slider2"></label>

<label for="slider3"></label>

<label for="slider4"></label>

<label for="slider5"></label>

</div>

<div id="active">

<label for="slider1"></label>

<label for="slider2"></label>

<label for="slider3"></label>

<label for="slider4"></label>

<label for="slider5"></label>

</div>

</div>

上面的代碼是主要的html結(jié)構(gòu),其中包含了一個input radio組,你可以在這里它看做一個中樞,本實例中它起到了很關(guān)鍵的作用(這也是為什么我在示例中不愿將它隱藏起來,真正的英雄不應(yīng)該是幕后的英雄)。

下面的sliders中包含了需要展現(xiàn)的images,這里好像是一個滑動門的效果,通過控制inner的margin-left來展現(xiàn)不同的image。

controls是圖片左右兩邊的切換箭頭,先不要著急為什么要設(shè)計5個,看上去只要兩個就可以了啊,提醒下,我們本例中絕不使用js來實現(xiàn)切換。

最后的active是圖片下面的點擊小按鈕,可以通過點擊直接選擇要瀏覽的圖片,你也可以豐富里面的結(jié)構(gòu)來設(shè)計一個縮略圖的效果。

三、css樣式表

代碼如下:

@charset utf-8;

/* common */

body{background: #ddd;overflow-x: hidden;}

#bd{width: 960px;margin: 100px auto;max-width: 960px;}

/* module: sliders */

#sliders{

border-radius: 5px;

box-shadow: 1px 1px 4px #666;

padding: 1%;

background: #fff;

}

#overflow{

width: 100%;

overflow: hidden;

}

#sliders .inner{

width: 500%;

transiton: all 1s linear;

-webkit-transition: all 1s linear;

}

#sliders article{

float: left;

width: 20%;

}

#sliders article .info{

position: absolute;

opacity: 0;

padding: 30px;

color: #666;

font-family: Arial;

transition: opacity 0.1s ease-out;

-webkit-transform: translateZ(0);

-webkit-transition: opacity 0.1s ease-out;

}

#sliders article .info h1{

font-size: 22px;

font-weight: bold;

margin: 0 0 5px;

}

#sliders article .info a{

color: #666;

text-decoration: none;

}

/* module: controls */

#controls{

height: 50px;

width: 100%;

margin-top: -25%;

}

#controls label{

display: none;

width: 50px;

height: 50px;

opacity: 0.3;

cursor: pointer;

}

#controls label:hover{

opacity: 1;

}

/* module: active */

#active{

width: 100%;

margin-top: 23%;

text-align: center;

}

#active label{

display: inline-block;

width: 10px;

height: 10px;

border-radius: 5px;

background: #bbb;

border-color: #777;

}

#active label:hover{

background: #ccc;

}

/* input checked change style */

#slider1:checked ~ #active label:nth-child(1),

#slider2:checked ~ #active label:nth-child(2),

#slider3:checked ~ #active label:nth-child(3),

#slider4:checked ~ #active label:nth-child(4),

#slider5:checked ~ #active label:nth-child(5){

background: #333;

}

#slider1:checked ~ #controls label:nth-child(5),

#slider2:checked ~ #controls label:nth-child(1),

#slider3:checked ~ #controls label:nth-child(2),

#slider4:checked ~ #controls label:nth-child(3),

#slider5:checked ~ #controls label:nth-child(4){

display: block;

float: left;

background: url(../img/prev.png) no-repeat;

margin-left: -70px;

}

#slider1:checked ~ #controls label:nth-child(2),

#slider2:checked ~ #controls label:nth-child(3),

#slider3:checked ~ #controls label:nth-child(4),

#slider4:checked ~ #controls label:nth-child(5),

#slider5:checked ~ #controls label:nth-child(1){

display: block;

float: right;

background: url(../img/next.png) no-repeat;

margin-right: -70px;

}

#slider1:checked ~ #sliders article:nth-child(1) .info,

#slider2:checked ~ #sliders article:nth-child(2) .info,

#slider3:checked ~ #sliders article:nth-child(3) .info,

#slider4:checked ~ #sliders article:nth-child(4) .info,

#slider5:checked ~ #sliders article:nth-child(5) .info{

opacity: 1;

transition: all 0.6s ease-out 1s;

-webkit-transition: all 0.6s ease-out 1s;

}

#slider1:checked ~ #sliders .inner{

margin-left: 0;

}

#slider2:checked ~ #sliders .inner{

margin-left: -100%;

}

#slider3:checked ~ #sliders .inner{

margin-left: -200%;

}

#slider4:checked ~ #sliders .inner{

margin-left: -300%;

}

#slider5:checked ~ #sliders .inner{

margin-left: -400%;

}

好吧,我承認上面的css代碼真的比較多,比較復(fù)雜,可是它真的實現(xiàn)了非常炫的效果,而且我寫完的時候也被css3的巨大魔力折服了。。。

這里面前半部分的代碼主要用來設(shè)計slider的結(jié)構(gòu),包括一些圓角、陰影方面的美化設(shè)計。后半部分主要是一些動畫效果,來實現(xiàn)一些切換圖片或者是控制按鈕切換時候的動態(tài)效果。但是,最主要的是最下面的css3選擇器的使用,通過它真正實現(xiàn)了圖片切換的功能。我真的認為選擇器在示例里起到了非常非常重要的作用,因為這是我過去學(xué)習(xí)css3所忽略的知識。一直覺得css3強大的是圓角、陰影,是變形、動畫,但是這段代碼真的告訴我們選擇器在css3中有多么重要。在一些復(fù)雜的邏輯中,使用這些css3選擇器可以實現(xiàn)令人無法想象的效果。

四、slider實現(xiàn)的原理

第一次看完上面的代碼的時候,你肯定跟我當(dāng)初一樣,不相信這樣的代碼可以實現(xiàn)slider的效果。

好吧,我來分析下實現(xiàn)的原理吧。

我在上文中說過,最上面的那個radio組很重要,是slider實現(xiàn)的樞紐。沒錯,它真的是。

要實現(xiàn)一個slider,無非要實現(xiàn)兩種切換,就是點擊控制按鈕的時候,圖片切換;同時,圖片切換的時候,保證所有的控制按鈕正確顯示。

本例中我們使用label來作為控制按鈕,article包含圖片,而inner作為圖片的容器。

簡單的想,label和article怎么也建立不起來聯(lián)系,label的狀態(tài)信息很難反映到article的選擇上去。除非有個東西可以把label的切換狀態(tài)記錄下來,然后通過某種手段來選擇相應(yīng)次序的圖片來顯示。

好吧,現(xiàn)在,你明白了為什么那個radio組是實現(xiàn)slider的關(guān)鍵了吧。對,它的出現(xiàn)就是為了記錄label的點擊狀態(tài)。

我們通過label的for屬性將它與對應(yīng)的radio對應(yīng)起來,當(dāng)label點擊的時候,相應(yīng)的radio就變?yōu)榱薱hecked的狀態(tài)。然后通過強大的css3選擇器將inner向左移動,讓對應(yīng)的圖片顯示出來。當(dāng)然,對應(yīng)的左右選擇按鈕也是通過選擇器來顯示的。同樣的道理,左右按鈕點擊時,下方5個選擇按鈕的狀態(tài)也是這樣實現(xiàn)的。

上面的實現(xiàn)原理比較簡單吧,其實只要可以記錄下控制按鈕的點擊狀態(tài),通過選擇器就可以實現(xiàn)slider的效果。

不僅僅只有radio組可以,a:hover也可以按照這樣的思路來實現(xiàn)a在hover的時候?qū)崿F(xiàn)圖片切換。當(dāng)然還有其他多種實現(xiàn)方式,只要你明白實現(xiàn)的原理。

五、總結(jié)

其實css3真的很好玩,很多效果,在css3中,只有想不到,沒有做不到。有時候真的發(fā)現(xiàn),寫css3是需要一點點小聰明的,有時候一些精妙的實現(xiàn)方式真的讓人贊不絕口。

好吧,作為一個小實踐,這個示例給我的收獲還是很多的,尤其是強大的選擇器,讓我汗顏了,過去太忽視了。。。

不連續(xù)圖片切換的問題,我還要考慮考慮,看來必須要使用一點js來輔助了。

更多信息請查看網(wǎng)頁制作
由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢回復(fù)僅供參考,敬請考生以權(quán)威部門公布的正式信息和咨詢?yōu)闇?zhǔn)!

2026上岸·考公考編培訓(xùn)報班

  • 報班類型
  • 姓名
  • 手機號
  • 驗證碼
關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機站點 | 投訴建議
工業(yè)和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網(wǎng)安備53010202001879號 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號
云南網(wǎng)警備案專用圖標(biāo)
聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關(guān)注公眾號:hfpxwx
咨詢QQ:1093837350(9:00—18:00)版權(quán)所有:易賢網(wǎng)
云南網(wǎng)警報警專用圖標(biāo)
中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久
国产一区二区毛片| 国产视频丨精品|在线观看| 欧美经典一区二区| 中国亚洲黄色| 在线观看国产精品网站| 欧美成人四级电影| 日韩视频中文| 国产乱人伦精品一区二区| 久久久国产视频91| 一本久道综合久久精品| 国产精品日韩| 欧美高清视频| 久久久高清一区二区三区| 男男成人高潮片免费网站| 国产一区二区三区久久久久久久久| 久久久久久久久久码影片| 日韩网站在线看片你懂的| 国产精品久久久久婷婷| 国产精品日韩一区| 欧美一级播放| 日韩午夜激情av| 国产欧美日韩视频在线观看 | 欧美一区二区三区在线免费观看| 亚洲一级片在线观看| 久久se精品一区二区| 久久久久久69| 性做久久久久久免费观看欧美| 亚洲综合日本| 噜噜爱69成人精品| 宅男噜噜噜66国产日韩在线观看| 亚洲国产99精品国自产| 精品999成人| 亚洲精品婷婷| 亚洲综合精品自拍| 欧美亚洲专区| 一区二区三区在线视频观看| 国产日韩在线视频| 欧美xxx成人| 国内精品久久久久伊人av| 在线一区二区三区四区| 欧美激情影音先锋| 久久尤物视频| 国产麻豆日韩| 午夜亚洲激情| 国产一区二区三区黄视频| 亚洲一区二区三区涩| 久久久久久91香蕉国产| 亚洲日本va午夜在线电影| 国产精品国产三级国产aⅴ无密码 国产精品国产三级国产aⅴ入口 | 老妇喷水一区二区三区| 国产精品色婷婷| 在线一区二区视频| 欧美日韩一区在线| 日韩亚洲欧美精品| 国产欧美日韩在线 | 亚洲欧美精品中文字幕在线| 亚洲人成网站在线播| 国产亚洲欧洲| 激情文学综合丁香| 亚洲精品国产精品久久清纯直播| 国产一区二区无遮挡| 狠狠噜噜久久| 亚洲一区二区毛片| 亚洲午夜激情免费视频| 欧美一区观看| 欧美国产日韩一区| 欧美午夜精品伦理| 亚洲视频香蕉人妖| 欧美1区免费| 国产精品www.| 欧美精品97| 亚洲国产日韩欧美在线99| 欧美激情1区2区| 欧美激情综合五月色丁香小说| 精品99一区二区| 欧美bbbxxxxx| 中文无字幕一区二区三区| 国产精品久久久一本精品| 午夜在线不卡| 国产亚洲网站| 欧美岛国激情| 亚洲综合国产激情另类一区| 国产亚洲精品7777| 欧美不卡在线| 久久久国产精品一区二区三区| 裸体一区二区| 久久天天躁狠狠躁夜夜av| 欧美精品一区二区三区一线天视频| 国产精品久久| 亚洲国产精品日韩| 午夜天堂精品久久久久| 乱人伦精品视频在线观看| 国产精品麻豆va在线播放| 亚洲剧情一区二区| 亚洲国产日韩欧美综合久久| 欧美亚洲一区在线| 国产精品美女久久久久久免费| 亚洲肉体裸体xxxx137| 亚洲一区二区三区久久| 中国av一区| 日韩图片一区| 久久中文字幕一区| 国产亚洲一区二区三区在线观看| 久久久一二三| 久久综合九色99| 国产日本精品| 亚洲欧美中文日韩v在线观看| 激情综合色丁香一区二区| 欧美日韩精品久久| 久久亚洲影院| 欧美激情精品久久久久久久变态| 欧美日韩午夜在线| 国产精品99久久久久久人| 久久久久久网站| 黄色在线成人| 久久久久国产精品www| 国产精品视区| 久久久午夜视频| 亚洲伦理中文字幕| 久久精品国产亚洲aⅴ| 亚洲看片一区| 亚洲国产一区二区三区a毛片| 国产婷婷一区二区| 国产精品每日更新| 欧美日韩一区二区在线播放| 裸体丰满少妇做受久久99精品| 欧美一区二区在线免费播放| 一区二区三区高清视频在线观看| 亚洲人成77777在线观看网| 永久91嫩草亚洲精品人人| 国产一区日韩欧美| 国产精品高潮呻吟久久av黑人 | 久久激情视频久久| 亚洲视频中文字幕| 亚洲精品中文字幕在线| 亚洲国内高清视频| 在线精品亚洲一区二区| 激情一区二区三区| 一区精品在线播放| 伊人久久大香线蕉综合热线| 激情文学综合丁香| 在线观看一区二区精品视频| 伊人久久大香线蕉综合热线| 黄色成人av网| 亚洲福利av| 亚洲靠逼com| 一本一本久久a久久精品牛牛影视| 日韩视频精品在线| 夜夜嗨av一区二区三区免费区| av成人手机在线| 亚洲欧美一区二区三区久久 | 亚洲精品1区2区| 亚洲人体影院| 国产精品99久久不卡二区| 亚洲天天影视| 欧美在线播放一区| 久久久午夜视频| 久久伊人精品天天| 国产精品区一区二区三| 欧美一级网站| 欧美久久综合| 亚洲一区二区在线免费观看| 亚洲亚洲精品在线观看| 亚洲一区免费| 欧美一区二区在线观看| 久久久久高清| 欧美成人自拍视频| 欧美日韩中国免费专区在线看| 欧美性大战xxxxx久久久| 国产精品视频一二三| 国产在线精品一区二区夜色| 永久久久久久| 一本久道综合久久精品| 欧美一区二区啪啪| 免费视频一区| 国产综合在线看| 亚洲成人在线观看视频| 99成人精品| 欧美在线二区| 欧美激情第五页| 国产女主播在线一区二区| 136国产福利精品导航网址应用| 99riav1国产精品视频| 性久久久久久久久久久久| 美日韩精品免费| 国产精品户外野外| 在线成人激情黄色| 亚洲一级特黄| 久久午夜国产精品| 国产精品美女一区二区| 亚洲福利免费| 性欧美18~19sex高清播放| 免费毛片一区二区三区久久久| 国产精品成人v| 亚洲国产成人午夜在线一区| 亚洲综合首页| 欧美裸体一区二区三区| 狠狠色狠狠色综合| 亚洲女同精品视频| 欧美精品久久天天躁|