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