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

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

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
一個(gè)有趣的圖片加載效果,你學(xué)會了嗎?

日常在業(yè)務(wù)中會經(jīng)常使用到圖片,而涉及到一些大圖的加載等待的時(shí)間較長,一般為了用戶更好的體驗(yàn),會使用一些不同的圖片加載效果,比如以下幾種情況:

十載專注建站、設(shè)計(jì)、互聯(lián)網(wǎng)產(chǎn)品按需定制制作服務(wù),業(yè)務(wù)涵蓋高端網(wǎng)站設(shè)計(jì)商城網(wǎng)站開發(fā)、重慶小程序開發(fā)、軟件系統(tǒng)開發(fā)、app軟件定制開發(fā)等。憑借多年豐富的經(jīng)驗(yàn),我們會仔細(xì)了解每個(gè)客戶的需求而做出多方面的分析、設(shè)計(jì)、整合,為客戶設(shè)計(jì)出具風(fēng)格及創(chuàng)意性的商業(yè)解決方案,創(chuàng)新互聯(lián)公司更提供一系列網(wǎng)站制作和網(wǎng)站推廣的服務(wù),以推動各中小企業(yè)全面信息數(shù)字化,并利用創(chuàng)新技術(shù)幫助各行業(yè)提升企業(yè)形象和運(yùn)營效率。

  1. 骨架屏:在頁面上用占位框架代替圖片,展示出圖片的大致結(jié)構(gòu)和區(qū)域,給用戶一種“正在加載”的視覺體驗(yàn)。
  2. 進(jìn)度條:用進(jìn)度條的形式展示圖片的加載進(jìn)度,讓用戶能夠了解圖片的加載情況。
  3. 旋轉(zhuǎn)動畫:使用旋轉(zhuǎn)的圖標(biāo)或者動畫展示圖片正在加載的狀態(tài),給用戶一個(gè)視覺上的反饋。
  4. 模糊淡入:先展示一個(gè)高斯模糊的小圖或者低分辨率的圖片,等大圖加載完成后再替換成高清的圖片。

當(dāng)然每種情況都有對應(yīng)的利與弊,所適用的場景也有所不同,今天看到一個(gè)很有創(chuàng)意的圖片加載效果,針對一些特定的場景和圖片內(nèi)容效果感覺很不錯。以下是加載的效果圖:

「注意:以下本文討論的加載效果不太適用于圖片的第一次加載,只是一種交互效果供參考」

整體的加載效果就是圖片被橫向拉伸了一樣,隨著加載的過程圖片內(nèi)容逐漸顯示出來,這對于一些圖片背景中包含純色的情況下的效果更好,因?yàn)榧兩糠植还茉趺蠢煲彩羌兩?,只有其他顏色在拉伸的過程中會交織在一起,隨著加載的過程逐漸看到廬山真面目,不得不說這是一個(gè)不錯的交互的效果。

image-rendering: pixelated

這就是今天的主角,image-rendering: pixelated 是一種 CSS 屬性,用于控制圖像在縮放或拉伸時(shí)的顯示方式。設(shè)置為 pixelated 后,瀏覽器會以最接近原始圖像的方式呈現(xiàn)縮放后的圖像,使得圖像看起來像是由像素點(diǎn)組成的。這種方式與傳統(tǒng)的平滑縮放方式不同,可以更好地展現(xiàn)像素風(fēng)格的圖像,例如像素藝術(shù)作品、游戲素材等。簡單來說這個(gè) pixelated 可以「讓圖片變成像素風(fēng),也就是馬賽克的效果」。

image-rendering 屬性可以控制圖像在縮放或拉伸時(shí)的顯示方式,常見的屬性值有以下幾種:

  1. auto: 默認(rèn)值,瀏覽器會根據(jù)具體情況自動選擇合適的顯示方式進(jìn)行呈現(xiàn)。
  2. crisp-edges: 將圖像呈現(xiàn)為銳利的邊緣,效果類似于將圖像強(qiáng)行放大或縮小到整數(shù)像素的尺寸。
  3. pixelated: 以原始圖像最接近的方式呈現(xiàn)縮放后的圖像,使得圖像看起來像是由像素點(diǎn)組成的。

今天主要介紹的是 pixelated,簡單實(shí)用比如給一下圖片設(shè)置 pixelated 后的效果和原圖對比就可以清晰的看到馬賽克像素化的效果。

.pixelated {
  image-rendering: pixelated;
}

tips: 要達(dá)到馬賽克效果前需要將圖片放大至模糊的效果才會生效,如果本質(zhì)是清晰的圖片是無法生效的,這里是將正常的圖片縮小再設(shè)置更大的寬高后進(jìn)行設(shè)置 pixelated。

觀察這個(gè)效果和本文一開始的飛機(jī)加載效果之間似乎并沒有什么明顯的聯(lián)系。這里使用了一個(gè)巧妙的實(shí)現(xiàn)方式,我們使用的圖片內(nèi)容主要都是橫向排列的,從左到右逐漸加載。仔細(xì)觀察可以發(fā)現(xiàn),加載過渡區(qū)域的內(nèi)容是基于當(dāng)前縱向切面的像素點(diǎn)顏色值計(jì)算的。當(dāng)我們不斷向右移動時(shí),對應(yīng)像素點(diǎn)的顏色值也會不斷變化,從而導(dǎo)致加載橫條的顏色內(nèi)容不斷變化。下面這張示例圖表現(xiàn)了這種效果更加明顯:

這里其實(shí)是用到了scale進(jìn)行放大,但是只放大了X軸,所有效果就是被橫向拉的很長。

transform: scale(6000, 1);

那么這段代碼怎么應(yīng)用生效呢?

這里需要再引入一個(gè)知識點(diǎn),以下引用來源于 mozilla。

CSS 屬性 image-rendering 用于設(shè)置圖像縮放算法。它適用于元素本身,適用于元素其他屬性中的圖像,也應(yīng)用于子元素。

重點(diǎn)是也應(yīng)用于子元素。所以我們基于當(dāng)前的圖片元素?cái)U(kuò)展一個(gè)偽元素,在偽元素進(jìn)行 pixelated 屬性設(shè)置,核心代碼如下:

.thing::after {
  left: 300px;
  transform-origin: 0 0;
  transform: scale(6000, 1);
  image-rendering: pixelated;
  transition: all 2s cubic-bezier(.5,0,0,1) ;
}

.thing:hover::after{
  left: 720px;
}

偽元素默認(rèn)設(shè)置了 300px 的偏移量,鼠標(biāo)懸停時(shí)設(shè)置為 720px,再配合 transition 即可產(chǎn)生動起來的效果,但這時(shí)候偽元素的色值是基于圖片最左側(cè)的色值不會有變化,如下所示:

所以這個(gè)時(shí)候還需要增加另一個(gè)屬性 background-position 上場,要讓偽元素運(yùn)動時(shí)對應(yīng)上圖片上的縱向色值,所以增加 background-position 和 left 的數(shù)值一樣,這里需要注意的是我們是要將偽元素的背景向左移動,所以是設(shè)置負(fù)數(shù),代碼如下:

.thing:after {  
  background-position: -300px 0;
}

.thing:hover:after{
  background-position: -720px 0;
}

最后來看一下不同的圖片遇上后的新奇效果,當(dāng)下面這種圖片遇上從左往右逐漸顯示的效果后會產(chǎn)生另一種不錯的感覺。

使用 pixelated 后的效果,本來界面上的曲線變成了直線逐漸延伸顯示。

這個(gè)蜥蜴使用了純色背景,所以在加載過程中拉伸是后也是純色的,那么就剩下主體內(nèi)容在發(fā)生變化,這也是一種不錯的體驗(yàn)效果。

在線體驗(yàn):

https://code.juejin.cn/pen/7225892695250567223

參考:https://codepen.io/andyfitz/pen/XWxWgyY

最后

本文介紹了一個(gè)有趣的圖片加載效果,主要使用了 image-rendering: pixelated 配合 background-position 產(chǎn)生的過渡加載效果。 加載效果不太適用于圖片的第一次加載,只是一種交互效果供參考,針對不同的圖片會產(chǎn)生別樣的加載風(fēng)格,比如上面的直線內(nèi)容加載變?yōu)榍€,純色背景的內(nèi)容的加載只會有主體內(nèi)容發(fā)生變化,有興趣的可以嘗試其他內(nèi)容的圖片也許你會發(fā)現(xiàn)新大陸。


分享名稱:一個(gè)有趣的圖片加載效果,你學(xué)會了嗎?
瀏覽地址:http://www.5511xx.com/article/cdcgpeo.html