日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢(xún)
選擇下列產(chǎn)品馬上在線(xiàn)溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
使用純Css實(shí)現(xiàn)網(wǎng)站換膚和焦點(diǎn)圖切換動(dòng)畫(huà)

你將收獲

  • 網(wǎng)站換膚設(shè)計(jì)方案介紹
  • target偽類(lèi)介紹和用法以及如何使用css實(shí)現(xiàn)網(wǎng)站換膚
  • transition動(dòng)畫(huà)以及如何用純css實(shí)現(xiàn)焦點(diǎn)圖動(dòng)畫(huà)

效果展示

1.網(wǎng)站換膚

2.焦點(diǎn)圖動(dòng)畫(huà)

實(shí)現(xiàn)思路

1.網(wǎng)站換膚

通常我們實(shí)現(xiàn)網(wǎng)站換膚都基于如下方式實(shí)現(xiàn):

  • 方案一: 使用OOCSS模式,通過(guò)js動(dòng)態(tài)切換公共類(lèi)名來(lái)達(dá)到換膚效果
  • 方案二: 點(diǎn)擊不同的按鈕切換不同的樣式表,如下:?theme-green.css?theme-red.css?theme-black.css
  • 方案三: localStorage存儲(chǔ)主題,js動(dòng)態(tài)獲取本地存儲(chǔ)換膚
  • 方案四: element和antd的動(dòng)態(tài)換膚,需要實(shí)時(shí)編譯style樣式表

以上幾個(gè)方案都可以實(shí)現(xiàn)一定程度上的換膚效果,但是如果是一些基礎(chǔ)性的換膚,比如網(wǎng)站的背景樣式,某個(gè)按鈕的樣式,某塊內(nèi)容區(qū)域的樣式等等這種局部的換膚,我們能不能直接用css來(lái)實(shí)現(xiàn)呢?答案是可以的,接下來(lái)我們就來(lái)看純看css如何實(shí)現(xiàn)網(wǎng)站換膚。

在實(shí)現(xiàn)換膚之前,我們需要了解一個(gè)知識(shí)點(diǎn),那就是a標(biāo)簽的:target偽類(lèi)。

:target偽類(lèi)

為了輔助標(biāo)識(shí)那些指向文檔特定部分鏈接的目標(biāo), CSS3 選擇器 引入了 :target 偽類(lèi). :target 偽類(lèi)用來(lái)指定那些包含片段標(biāo)識(shí)符的 URI 的目標(biāo)元素樣式。

例如, http://xuxi#home , 這個(gè) URI 包含了 #home 片段標(biāo)識(shí)符。在HTML中, 標(biāo)識(shí)符是元素的id或者name屬性,。由于這兩者位于相同的命名空間,因此,這個(gè)示例 URI 指向的是文檔頂層的 "home" 。

假設(shè)你想修改 URI 指向的任何 div 元素,但是又不想把樣式應(yīng)用到任何其它同類(lèi)型的元素,那么我們可以這么寫(xiě):


藍(lán)

此時(shí)當(dāng)我們點(diǎn)擊a標(biāo)簽時(shí),會(huì)命中:target的元素,這個(gè)時(shí)候會(huì)將div的背景色設(shè)置為藍(lán)色,即#06c。

了解這個(gè)偽類(lèi)之后,我們的網(wǎng)站換膚就很容易實(shí)現(xiàn)了,比如說(shuō)我們要實(shí)現(xiàn)網(wǎng)站背景色的換膚,我們可以預(yù)先準(zhǔn)備幾個(gè)背景色的容器, 然后用a標(biāo)簽的href錨點(diǎn)分別對(duì)應(yīng)相應(yīng)的背景元素id,然后當(dāng)點(diǎn)擊背景色的時(shí)候調(diào)整背景容器的層級(jí),這樣就可以實(shí)現(xiàn)換膚了,實(shí)際效果可以看文章開(kāi)頭的效果展示。具體代碼如下:












2.焦點(diǎn)圖動(dòng)畫(huà)

焦點(diǎn)圖動(dòng)畫(huà)主要來(lái)自我們司空見(jiàn)慣的輪播圖,我們點(diǎn)擊輪播圖的某個(gè)指示點(diǎn)時(shí),可以切換會(huì)對(duì)應(yīng)的圖片,焦點(diǎn)輪播圖常用的方案主要是用javascript和css共同實(shí)現(xiàn),方案有大致以下幾種:

  • bootstrap的輪播圖插件
  • jquery市場(chǎng)的豐富的輪播圖插件?swiper.js(豐富而強(qiáng)大,小程序也內(nèi)置了swiper組件)?antd/element內(nèi)置輪播圖組件
  • slick?unslider 最簡(jiǎn)單的輪播圖組件?fancyBox 可以為頁(yè)面上的圖片、html 內(nèi)容和多媒體添加縮放功能
  • sly 導(dǎo)航式、可單向滾動(dòng)
  • Sequence 可以創(chuàng)建響應(yīng)式幻燈片、演示、旗幟廣告和以步驟為基礎(chǔ)的CSS 動(dòng)畫(huà)框架
  • PhotoSwipe 適用于移動(dòng)設(shè)備和桌面電腦,基于原生JavaScript的模塊組件

以上介紹的方案都很成熟,我們可以直接拿來(lái)使用,但是為了追求簡(jiǎn)潔和代碼量最低,我們有辦法用純css實(shí)現(xiàn)一個(gè)簡(jiǎn)單的焦點(diǎn)圖切換動(dòng)畫(huà)嗎?

實(shí)現(xiàn)思路如下:

1.建立焦點(diǎn)圖和控制點(diǎn)的對(duì)應(yīng)關(guān)系

2.初始化頁(yè)面時(shí)只讓第一個(gè)焦點(diǎn)圖有寬度,其他寬度都設(shè)置為零,當(dāng)控制點(diǎn)激活時(shí),然控制點(diǎn)對(duì)應(yīng)的目標(biāo)對(duì)象的寬度設(shè)置為正常值,其他的非目標(biāo)對(duì)象都設(shè)置為零

3.給焦點(diǎn)圖添加transition過(guò)渡動(dòng)畫(huà)4.優(yōu)化焦點(diǎn)圖和控制點(diǎn)樣式

具體代碼如下:




愛(ài)









總結(jié)

通過(guò)上面介紹的純css實(shí)現(xiàn)網(wǎng)站換膚以及焦點(diǎn)圖切換動(dòng)畫(huà),是不是對(duì)css有更多的新奇的想法了呢?后面我會(huì)繼續(xù)介紹更多純css3實(shí)現(xiàn)的不可思議的動(dòng)畫(huà),比如3D擲色子,VR圖等,敬請(qǐng)期待吧~


當(dāng)前標(biāo)題:使用純Css實(shí)現(xiàn)網(wǎng)站換膚和焦點(diǎn)圖切換動(dòng)畫(huà)
網(wǎng)頁(yè)網(wǎng)址:http://www.5511xx.com/article/djdispp.html