精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

為什么你應該使用picture標簽而不是Img標簽

開發 前端
在用戶界面中使用圖片和動畫已經成為現代網絡應用的一個普遍現象。盡管這些現代設計的重點是改善你的應用程序的用戶體驗,但如果這些圖像對所有設備都沒有響應,事情就會變得適得其反。

[[408304]]

本文轉載自微信公眾號「TianTianUp」,作者小弋。轉載本文請聯系TianTianUp公眾號。

大家好,我是小弋。

分享的內容是為什你應該使用picture標簽而不是Img標簽。

寫在前面

[[408305]]

在用戶界面中使用圖片和動畫已經成為現代網絡應用的一個普遍現象。盡管這些現代設計的重點是改善你的應用程序的用戶體驗,但如果這些圖像對所有設備都沒有響應,事情就會變得適得其反。

作為開發者,我們必須滿足所有這些要求。但大多數時候,我們錯過了一些小東西,而這些小東西可以帶來巨大的差異,因為我們正在尋找更高層次的解決方案。

在picture標簽和img標簽之間做出選擇可能是這樣一個微小的決定,但如果你做出正確的選擇,你將能夠改善用戶體驗和性能。

本文將討論picture和img標簽的區別,以及是什么讓picture標簽比img標簽更突出。

下次你創建一個React picture組件時,一定要在其中實現你即將學到的最佳實踐。根據收到的prop返回正確的標簽,并照顧到所有必要的回退。

img標簽存在的問題

眾所周知,在相當長的一段時間內,Img標簽一直是HTML的核心元素之一,它的簡單性和可用性一直沒有受到懷疑。

然而,隨著各種屏幕尺寸、分辨率的設備的發展,以及復雜的用戶需求,人們開始對它的響應能力和在多設備應用中的使用能力產生了疑問。

所有這些問題可以歸納為兩個主要問題。

分辨率切換--為窄屏幕設備提供較小尺寸圖像的問題。

藝術指導 - 在不同的屏幕尺寸上顯示不同的圖像的問題。

現在,讓我們看看這些問題是如何被解決的以及picture標簽的附加功能。

分辨率切換

正如我前面提到的,現代的網頁設計師經常使用高分辨率的圖片來增加用戶的吸引力。但作為開發者,我們必須非常小心地選擇正確的HTML元素。 

來增加用戶的吸引力。但作為開發者,我們必須非常小心地選擇正確的HTML元素。

假設你用一個簡單的Img標簽來處理高分辨率的圖片。在這種情況下,在你的應用程序運行的每個設備中都會使用相同的圖像,事實上,這將導致在屏幕分辨率較低的設備(如移動設備)中出現性能問題。

這可能導致更長的圖像加載時間和從上到下的部分圖像加載。

[[408306]]

Top to bottom image loading issue

這個問題可以通過使用srcset和 sizes屬性在picture標簽上輕松解決。

  1. <picture> 
  2.    <source 
  3.       srcset="small-car-image.jpg 400w, 
  4.               medium-car-image.jpg 800w, 
  5.               large-car-image.jpg 1200w" 
  6.       sizes="(min-width: 1280px) 1200px, 
  7.              (min-width: 768px) 400px, 
  8.              100vw" 
  9.    > 
  10.    <img src="medium-car-image.jpg" alt="Car"
  11. </picture> 

 srcset屬性接受多張圖片,其各自的寬度為像素,瀏覽器使用這些值在所提供的圖片中進行選擇。

在上面的例子中,有3個不同尺寸的同一圖像的版本。

sizes屬性定義了圖像在屏幕上所占的空間。在上面的例子中,如果屏幕的最小寬度是1280px,圖像將占據1200px。

說到這里,我們建議不要僅僅為了分辨率切換而使用picture標簽,因為同樣的事情可以通過Img標簽的更新版本來實現(它有更多的瀏覽器支持)。

  1. <img srcset="small-car-image.jpg 400w, 
  2.              medium-car-image.jpg 800w, 
  3.              large-car-image.jpg 1200w" 
  4.      sizes="(min-width: 1280px) 1200px, 
  5.             (min-width: 768px) 400px, 
  6.             100vw" 
  7.       
  8.      src="medium-car-image.jpg" alt="Car"

但是,在大多數情況下,我們需要同時處理分辨率切換和藝術指導,而picture標簽是最好的解決方案。

因此,讓我們看看如何使用picture標簽來解決這些問題的。

使用media屬性

主要想法是根據設備的屏幕尺寸來顯示不同的圖像。在大多數情況下,一張在大屏幕上看起來非常漂亮的圖片,當你切換到移動端時,可能會被裁剪或看起來非常小。

我們可以通過為不同的屏幕尺寸提供不同版本的圖像來解決這個問題。這些不同的版本可以是橫向的,縱向的,或者是同一張圖片的任何定制版本。

有了picture標簽,我們可以通過在picture標簽內使用多個源標簽來輕松實現分辨率切換。

  1. <picture> 
  2.     
  3.    <source ....> 
  4.    <source ....> 
  5.    <source ....> 
  6. </picture> 

然后我們可以使用media屬性來定義不同的媒體條件,這些來源將被使用。我們還可以像上一節討論的那樣,以類似的方式使用srcset和 sizes屬性。

下面的例子顯示了一個使用picture標簽和分辨率切換的完整例子。

  1. <picture> 
  2.       
  3.    <source media="(orientation: landscape)" 
  4.               
  5.       srcset="land-small-car-image.jpg 200w, 
  6.               land-medium-car-image.jpg 600w, 
  7.               land-large-car-image.jpg 1000w" 
  8.               
  9.       sizes="(min-width: 700px) 500px, 
  10.              (min-width: 600px) 400px, 
  11.              100vw"> 
  12.       
  13.    <source media="(orientation: portrait)" 
  14.               
  15.       srcset="port-small-car-image.jpg 700w, 
  16.               port-medium-car-image.jpg 1200w, 
  17.               port-large-car-image.jpg 1600w" 
  18.               
  19.       sizes="(min-width: 768px) 700px, 
  20.              (min-width: 1024px) 600px, 
  21.              500px"> 
  22.       
  23.    <img src="land-medium-car-image.jpg" alt="Car"
  24. </picture> 

如果屏幕方向是橫向,瀏覽器將顯示第一組圖片,如果方向是縱向,瀏覽器將使用第二組圖片。除此之外,你還可以使用帶有最大寬度和最小寬度參數的媒體屬性。

  1. <picture> 
  2.      <source media="(max-width: 767px)" ....> 
  3.      <source media="(min-width: 768px)" ....> 
  4. </picture> 

最后一個img標簽是為了向后兼容那些不支持圖片標簽的瀏覽器。

使用部分支持的圖像類型

隨著技術的快速發展,不同類型的現代圖像類型被逐日引入。其中一些類型,如webp、svg和avif,提供了更高的用戶體驗水平。

另一方面,一些瀏覽器對這些現代圖像類型有限制,如果我們不使用兼容的圖像類型,事情就會適得其反。

但是,我們可以通過使用picture標簽輕松地解決這個問題,因為它允許我們在其中包含多個來源。

  1. <picture> 
  2.   <source srcset="test.avif" type="image/avif"
  3.   <source srcset="test.webp" type="image/webp"
  4.   <img src="test.png" alt="test image"
  5. </picture> 

上面的例子包括avif、webp和png三種格式的圖片。首先,瀏覽器將嘗試avif格式,如果失敗,它將嘗試webp格式。如果瀏覽器不支持這兩種格式,它將使用png圖像。

當Chrome宣布 "DevTools將在渲染標簽中提供兩種新的模擬,以模擬部分支持的圖像類型 "時,關于圖片標簽的事情變得更加有趣。

從Chrome 88開始,你可以使用Chrome DevTools來檢查瀏覽器對圖片類型的兼容性。

Using Chrome DevTools for Image Compatibility Emulations

小結

盡管我們談到了為什么圖片標簽比img標簽更突出,但我必須堅持認為,img標簽并沒有死,也不會很快死。

如果我們明智地使用所提供的屬性,如srcset和size,我們可以從img標簽中獲得最大的收益。例如,我們可以只使用img標簽來解決分辨率切換問題。

另一方面,我們可以使用媒體查詢和其他提供的屬性,使用圖片標簽來輕松實現分辨率切換和藝術指導。

對部分支持的圖片類型的處理能力和Chrome開發工具的支持可以被認為是圖片標簽的額外加分項。

然而,這兩個元素都有其優點和缺點。因此,我們必須仔細考慮并根據我們的要求使用最合適的元素。

 

責任編輯:武曉燕 來源: TianTianUp
相關推薦

2021-08-14 09:04:58

TypeScriptJavaScript開發

2024-09-18 00:00:03

SSGSSR服務器

2013-03-25 10:14:18

NginxApache

2022-05-16 09:27:37

UbuntuUbuntu LTS

2024-06-24 00:00:00

AVIFJPEG圖像格式

2022-01-23 13:51:30

Arch LinuxLinux

2020-09-15 09:23:19

C++WindowsC#

2020-06-05 14:09:42

Kubernetes容器應用程序

2021-03-03 14:09:57

API命令式聲明式

2021-02-26 05:30:25

元素For-Each代碼

2023-03-01 10:42:58

gRPC服務端設置

2021-03-26 11:50:28

Linuxexals

2019-04-19 11:56:48

框架AI開發

2023-09-26 11:28:08

代碼注釋軟件開發

2023-04-24 14:32:54

2024-10-18 11:55:47

2012-10-10 16:52:21

CentOSDebianUbuntu

2021-10-30 19:57:00

HTTP2 HTTP

2021-05-08 14:00:58

FedoraLinux

2023-08-30 07:27:39

點贊
收藏

51CTO技術棧公眾號

亚洲欧美色综合| 日韩专区欧美专区| 日韩成人激情视频| 妺妺窝人体色www在线小说| 欧美男男同志| 国产一区二区成人久久免费影院 | 欧美中文字幕不卡| 天天做天天爱天天高潮| 丰满肉嫩西川结衣av| 美女精品在线| 成人欧美一区二区三区1314 | 精品深夜av无码一区二区老年| 欧美aaaaa级| 欧美日韩精品二区第二页| 国产日韩欧美精品| 国产一级片一区二区| 欧美激情自拍| 国产亚洲视频在线观看| 国产吃瓜黑料一区二区| 69堂免费精品视频在线播放| 亚洲综合无码一区二区| 亚洲在线一区二区| 黄色一级片免费在线观看| 天天天综合网| 亚洲欧美三级在线| 99热超碰在线| 在线成人免费| 欧美激情中文字幕一区二区| 国产精品久久九九| 一区二区日韩视频| 久久久久久黄| 97精品伊人久久久大香线蕉| 国产精品久久久久久成人| 美日韩黄色大片| 一区二区欧美精品| 亚洲国产婷婷香蕉久久久久久99| 日本高清视频免费看| 精品一区二区三区在线观看| 日韩av毛片网| 国产 欧美 日韩 在线| 精品国产午夜肉伦伦影院| 欧美日韩高清一区二区不卡| 日韩有码免费视频| 成人影院免费观看| 97久久精品人人做人人爽50路 | 国产美女永久免费| 男女男精品网站| 国产精品久久久久av| 91丝袜一区二区三区| 一本一道久久综合狠狠老精东影业| 欧美成人精品一区二区三区| 可以免费看av的网址| 欧洲美女日日| 国产亚洲人成a一在线v站| 女人又爽又黄免费女仆| 少妇精品导航| 亚洲欧美日韩国产中文| 老鸭窝一区二区| 日韩激情毛片| 亚洲欧美日韩国产精品| 无码人妻精品一区二区中文| 国产欧美日韩在线观看视频| 一区二区三区视频免费在线观看| 中文字幕丰满乱子伦无码专区| 亚洲a级精品| 亚洲精品中文字幕有码专区| 亚洲精品理论片| 国产毛片一区二区三区| 中文字幕成人精品久久不卡| 四虎影视一区二区| 亚洲成人免费| 欧美激情网站在线观看| heyzo一区| 男人亚洲天堂| 色婷婷久久一区二区三区麻豆| av免费中文字幕| 日本免费久久| 国产一区二区成人久久免费影院| 91九色视频导航| jlzzjlzz亚洲女人18| 国产激情精品久久久第一区二区 | 中文字幕日本精品| 人人澡人人澡人人看| 午夜精品久久久久99热蜜桃导演| 欧美国产中文字幕| 日韩三级视频在线| 久久只有精品| 欧美成人精品h版在线观看| 免费在线观看日韩| 久久中文字幕av一区二区不卡| 欧美精品一区二区三区视频| 呦呦视频在线观看| 精品一区电影| 欧美猛少妇色xxxxx| 日韩精品视频播放| 日韩在线一区二区| 91pron在线| 欧美日韩国产中文字幕在线| 国产精品国产馆在线真实露脸| 精品无码av无码免费专区| 免费在线小视频| 欧美美女bb生活片| 日韩一级免费在线观看| 日韩电影免费观看高清完整版在线观看| 日韩一区二区三区在线| 大黑人交xxx极品hd| 久久麻豆精品| 97色在线视频| 国产强被迫伦姧在线观看无码| av毛片久久久久**hd| 亚洲视频导航| 免费h在线看| 日韩午夜小视频| 妺妺窝人体色WWW精品| 欧美日韩国产色综合一二三四| 奇米影视亚洲狠狠色| 99国产精品99| 中文字幕高清一区| www国产精品内射老熟女| 亚洲国产天堂| 亚洲社区在线观看| 懂色av.com| 国产一区在线看| 日韩av一区二区三区在线| 天堂成人av| 欧美美女直播网站| 老熟妇一区二区| 亚洲在线网站| 国产精品一区二区不卡视频| 黄色网在线免费观看| 色婷婷av一区二区| 色婷婷免费视频| 亚洲第一二三区| 欧美日韩国产成人高清视频| 亚洲无码精品在线观看| 国内精品国产成人| 天堂社区 天堂综合网 天堂资源最新版 | 国产日产精品久久久久久婷婷| 亚洲一区二区三区美女| 中文字幕第一页在线视频| 国产欧美日韩免费观看 | 免费在线黄网站| 免费精品一区| 欧美不卡视频一区| 国产探花在线免费观看| 伊人久久成人| 国产成人成网站在线播放青青| gogo在线高清视频| 3751色影院一区二区三区| 任我爽在线视频| 久久99精品国产麻豆婷婷洗澡| 亚欧精品在线| 欧美黄页免费| 久久躁狠狠躁夜夜爽| 国产av无码专区亚洲av| 亚洲精品伦理在线| 香蕉视频免费网站| 国产欧美日韩精品一区二区三区| 日本国产精品视频| 久久这里精品| 欧美日韩欧美一区二区| 国精产品视频一二二区| 国产一区二区三区精品欧美日韩一区二区三区 | 国产wwwxx| 日韩高清欧美| 成人做爽爽免费视频| 97超碰在线公开在线看免费| 日韩精品专区在线| 国产大片中文字幕| 日韩中文字幕1| 神马影院午夜我不卡| www.一区| 蜜臀久久99精品久久久无需会员 | 97久久综合区小说区图片区 | 亚洲精品视频在线观看免费视频| 成人国产精品免费观看| 黄色片视频在线免费观看| 九九视频精品全部免费播放| 国产精品自拍偷拍| 在线免费观看a视频| 亚洲国产古装精品网站| 久久久久在线视频| 亚洲欧美一区二区三区久本道91| 亚洲精品久久一区二区三区777| 国产日韩1区| 亚洲欧美国产精品桃花| 日韩精品一区国产| 欧美亚洲成人网| 欧美高清视频| 亚洲国产精品久久91精品| 中文字幕免费观看| 成人高清视频在线| 国产l精品国产亚洲区久久| 日韩精品免费一区二区三区| 91麻豆蜜桃| 精品三区视频| 欧美极品少妇全裸体| 韩国福利在线| 精品久久久久久久久久久久久久久| 天天综合网久久综合网| 亚洲欧洲韩国日本视频| 先锋资源av在线| 精油按摩中文字幕久久| 中文字幕日本最新乱码视频| 久久电影院7| 久久手机视频| 美女久久精品| 国产精品三级网站| 黄毛片在线观看| 久久中文精品视频| 福利在线播放| 亚洲精品福利在线| 国产精选久久久| 欧美在线免费观看亚洲| 午夜偷拍福利视频| 综合久久给合久久狠狠狠97色| 好吊一区二区三区视频| 国产激情视频一区二区三区欧美 | 国产农村妇女毛片精品久久麻豆| 精品国产一二区| 久久se这里有精品| 凹凸日日摸日日碰夜夜爽1| 精品96久久久久久中文字幕无| 五月天av影院| 日韩中文欧美| 日本成人黄色免费看| 日本欧美不卡| 中文字幕亚洲欧美| 日本福利在线观看| 亚洲电影免费观看| 午夜精品久久久久久久爽| 欧美日本在线播放| 最新黄色网址在线观看| 欧美性猛交xxxxx免费看| 久久国产精品波多野结衣av| 中文字幕日本乱码精品影院| 国产又黄又粗视频| 久久久国际精品| 在线观看国产中文字幕| 麻豆成人精品| 精品视频免费在线播放| 亚洲午夜在线| 日韩精品在线中文字幕| 欧美日韩p片| 日韩成人手机在线| 综合久久精品| 欧美激情一区二区三区在线视频| 黄色精品视频| 国产精品第一页在线| 黄瓜视频成人app免费| 日韩美女中文字幕| 欧美gay囗交囗交| 国产99久久精品一区二区 夜夜躁日日躁 | 黄色片久久久久| 国产欧美日韩亚洲一区二区三区| 国产成人在线免费看| 香蕉久久久久久久av网站| 国产一区二区三区精彩视频| 国产日韩欧美| 日本精品一区二区三区四区| 久久久精品网| 国产成人黄色网址| 欧美成人有码| 欧美大黑帍在线播放| 日韩一级网站| 黄色高清无遮挡| 美女视频一区二区三区| 亚洲天堂网站在线| 国产凹凸在线观看一区二区| 性色av蜜臀av浪潮av老女人| 91看片淫黄大片一级在线观看| 一本色道久久亚洲综合精品蜜桃| 美女视频黄 久久| 夜夜爽久久精品91| 不卡视频免费播放| 国产精成人品免费观看| 亚洲色图在线播放| 日韩欧美亚洲一区二区三区| 日本韩国欧美国产| 国产精品久久免费| 欧美精品一区二区在线观看| 极品白浆推特女神在线观看| 日韩中文字幕网址| 欧美xxxx黑人又粗又长| 欧美亚洲在线观看| 日韩深夜福利网站| 国产欧美丝袜| 日韩欧美网站| 91九色丨porny丨国产jk| 日本电影一区二区| 国产激情片在线观看| 国产日韩一区| aaa一级黄色片| 91免费在线播放| 日韩在线观看免| 午夜精品久久久久久久99樱桃 | 美美哒免费高清在线观看视频一区二区| 一级黄色在线播放| 久久影院午夜片一区| 97中文字幕在线观看| 国产亚洲成av人在线观看导航| 精品欧美一区二区久久久久| 日本久久电影网| www.久久伊人| 最新的欧美黄色| 英国三级经典在线观看| 亚洲自拍高清视频网站| 国产乱码精品一区二区亚洲| 性一交一乱一伧国产女士spa| 日本一区中文字幕 | 天天躁日日躁狠狠躁欧美| 一区二区三区四区欧美| 先锋a资源在线看亚洲| 91丨porny丨九色| 中文字幕高清一区| 黄瓜视频在线免费观看| 欧美va亚洲va香蕉在线| 日本中文字幕伦在线观看| 欧洲精品毛片网站| 盗摄牛牛av影视一区二区| 在线观看日韩羞羞视频| 久久国产88| 插我舔内射18免费视频| 一区二区欧美国产| 国产精品欧美亚洲| 色婷婷综合久久久久中文字幕1| 欧美电影免费观看| 国内不卡一区二区三区| 欧美先锋影音| 欧美国产在线一区| 国产精品国产自产拍在线| 波多野结衣电车痴汉| 日韩精品中文字幕在线播放| av成人福利| 国产乱码一区| 精品成人一区| 国产精品嫩草69影院| 亚洲精品老司机| 99精品在线看| 欧美精品在线网站| 日韩精品视频中文字幕| 91看片淫黄大片91| 国产盗摄女厕一区二区三区| 国产大学生自拍| 日韩欧美你懂的| 丝袜综合欧美| 国产精品一区二区欧美黑人喷潮水| 午夜欧美精品| 日批免费观看视频| 亚洲成人手机在线| 色婷婷中文字幕| 欧美性在线观看| 精品不卡一区| 不卡的在线视频| 亚洲欧美另类在线| 亚洲黄色小说网址| 国产+人+亚洲| 亚洲激情播播| 国产精品乱码久久久久| 中文天堂在线一区| 国产视频在线观看免费| 久久久久国产精品一区| 欧美理伦片在线播放| 久久久久久久久久久福利| 久久精品欧美日韩精品| 中文字幕免费播放| 欧美成人h版在线观看| 操欧美女人视频| 欧美成人黑人猛交| 国产精品水嫩水嫩| www.亚洲欧美| 欧美亚洲视频在线观看| 久久裸体网站| 一本色道久久hezyo无码| 欧美日韩免费观看中文| 9i精品一二三区| 成人精品视频99在线观看免费| 欧美日韩国产一区精品一区| 污污内射在线观看一区二区少妇| 色先锋资源久久综合| 免费观看成人高潮| 国产一区在线免费观看| 日本麻豆一区二区三区视频| 国产av无码专区亚洲av毛网站| 亚洲第一区中文99精品| 亚洲精品在线影院| a级片一区二区| 2021国产精品久久精品| 国产男女猛烈无遮挡| 777午夜精品福利在线观看| 日韩欧美电影| 国产激情视频网站| 欧美视频在线一区二区三区| 麻豆福利在线观看| 日产精品一线二线三线芒果| 国产999精品久久久久久绿帽| 亚洲毛片一区二区三区| 久久99视频精品| 青青草成人影院| 亚洲欧美色图视频|