摘要:什么是響應式設計作為一名合格的前端開發攻城獅工程師,做的最多的恐怕就是多端適配,多端兼容的工作了吧,那么如何解決一套代碼多端并行且多端適配呢這個時候響應式開發就應運而生了。五標簽的屬性除了響應式圖像,標簽還可以用來選擇不同格式的圖像。
什么是響應式設計?
作為一名合格的前端開發攻城獅(工程師),做的最多的恐怕就是多端適配,多端兼容的工作了吧,那么如何解決一套代碼多端并行且多端適配呢?這個時候響應式開發就應運而生了。什么是響應式設計?什么又是響應式圖像呢?
我們來了解什么是響應式設計:網頁在不同的設備上,都可以達到讓使用者感覺比較舒適的合理的視覺體驗,叫做“響應式設計”(responsive web design)。
由響應式設計的網頁圖像,就叫做響應式圖像
響應式的解決方案有很多,JavaScript 和css都可以實現,這里我們了解一種最簡單的,語義最好的HTML的解決方案,而且瀏覽器都原生支持的。
一、由img標簽引起的問題這一行代碼在移動端和PC端,插入的都是圖片screen.png文件
這種方式雖然簡單高效,可以多端并行,但是有很多的弊端:
1、體積比較大。假設來說我們這個圖片有300Kb,在PC端可以使用較大的尺寸,那么在移動端,我么就需要一個看起來比較符合舒服的尺寸,這樣既可以節省帶寬,降低服務器的壓力,也可以更快的讓圖片渲染出來,提供良好的用戶體驗。
2.像素密度問題。做過移動端的開發的攻城獅都了解過PC的渲染和移動端的渲染是不一樣的。PC端一般是單倍的像素密度,而手機上的顯示器往往是多倍的像素密度。這樣的后果就是我們同樣一張圖,在PC上很清晰,到手機上渲染的時候看起來就很模糊,因為像素擴充了。
3.視覺體驗。因為我們桌面級別的顯示器屏幕的面積更大,可以暴露出來很多圖像的細節,但是手機屏幕比較小,很多細節是無法看清楚的,需要突出重點
二、圖片大小的選擇
為了解決體積問題希望不同尺寸的屏幕,顯示不同大小的圖像,我們需要srcset屬性搭配sizes屬性。
上面代碼中,
srcset:
srcset屬性列出四張可用的圖像,每張圖像的 URL 后面是一個空格,再加上寬度描述符。
寬度描述符就是圖像原始的寬度,加上字符w。上例的四種圖片的原始寬度分別為320像素、640像素和1980像素。
2.sizes:sizes屬性給出了三種屏幕條件,以及對應的圖像顯示寬度。寬度不超過440像素的設備,圖像顯示寬度為100%;寬度441像素到900像素的設備,圖像顯示寬度為33%;寬度900像素以上的設備,圖像顯示寬度為254px。
3.瀏覽器根據當前設備的寬度,從sizes屬性獲得圖像的顯示寬度,然后從srcset屬性找出最接近該寬度的圖像,進行加載。
假定當前設備的屏幕寬度是960px,瀏覽器從sizes屬性查詢得到,圖片的顯示寬度是33vw(即33%),等于320px。srcset屬性里面,正好有寬度等于320px的圖片,于是加載foo-320.jpg。
注意,sizes屬性必須與srcset屬性搭配使用。多帶帶使用sizes屬性是無效的。
四、
如果要同時適配不同像素密度、不同大小的屏幕,應該怎么辦呢?
這時,就要用到
上面代碼中,
瀏覽器按照
標簽是默認情況下加載的圖像,用來滿足上面所有
上面例子中,設備寬度如果不超過500px,就加載豎屏的圖像,否則加載橫屏的圖像。
五、除了響應式圖像,
上面代碼中,
瀏覽器按照
六、參考鏈接
http://www.ruanyifeng.com/blo...
更多優質文章請關注公眾號
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/114819.html
摘要:什么是響應式設計作為一名合格的前端開發攻城獅工程師,做的最多的恐怕就是多端適配,多端兼容的工作了吧,那么如何解決一套代碼多端并行且多端適配呢這個時候響應式開發就應運而生了。五標簽的屬性除了響應式圖像,標簽還可以用來選擇不同格式的圖像。 什么是響應式設計? 作為一名合格的前端開發攻城獅(工程師),做的最多的恐怕就是多端適配,多端兼容的工作了吧,那么如何解決一套代碼多端并行且多端適配呢?這...
摘要:的網站仍然使用有漏洞庫上周發布了開源社區安全現狀報告,發現隨著開源社區的日漸活躍,開源代碼中包含的安全漏洞以及影響的范圍也在不斷擴大。與應用安全是流行的服務端框架,本文即是介紹如何使用以及其他的框架來增強應用的安全性。 showImg(https://segmentfault.com/img/remote/1460000012181337?w=1240&h=826); 前端每周清單專注...
閱讀 3757·2021-11-24 09:39
閱讀 2953·2021-11-16 11:49
閱讀 2076·2019-08-30 13:54
閱讀 1104·2019-08-30 13:03
閱讀 1091·2019-08-30 11:10
閱讀 718·2019-08-29 17:10
閱讀 1248·2019-08-29 15:04
閱讀 1211·2019-08-29 13:02