国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

老生常談之響應式開發

csRyan / 1090人閱讀

摘要:什么是響應式設計作為一名合格的前端開發攻城獅工程師,做的最多的恐怕就是多端適配,多端兼容的工作了吧,那么如何解決一套代碼多端并行且多端適配呢這個時候響應式開發就應運而生了。五標簽的屬性除了響應式圖像,標簽還可以用來選擇不同格式的圖像。

什么是響應式設計?

作為一名合格的前端開發攻城獅(工程師),做的最多的恐怕就是多端適配,多端兼容的工作了吧,那么如何解決一套代碼多端并行且多端適配呢?這個時候響應式開發就應運而生了。什么是響應式設計?什么又是響應式圖像呢?
我們來了解什么是響應式設計:網頁在不同的設備上,都可以達到讓使用者感覺比較舒適的合理的視覺體驗,叫做“響應式設計”(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屬性是無效的。

四、標簽,標簽

如果要同時適配不同像素密度、不同大小的屏幕,應該怎么辦呢?

這時,就要用到標簽。它是一個容器標簽,內部使用,指定不同情況下加載的圖像。


  
  
  cat

上面代碼中,標簽內部有兩個標簽和一個標簽。

標簽的media屬性給出媒體查詢表達式,srcset屬性就是標簽的srcset屬性,給出加載的圖像文件。sizes屬性其實這里也可以用,但由于有了media屬性,就沒有必要了。

瀏覽器按照標簽出現的順序,依次判斷當前設備是否滿足media屬性的媒體查詢表達式,如果滿足就加載srcset屬性指定的圖片文件,并且不再執行后面的標簽和標簽。

標簽是默認情況下加載的圖像,用來滿足上面所有都不匹配的情況。

上面例子中,設備寬度如果不超過500px,就加載豎屏的圖像,否則加載橫屏的圖像。

五、標簽的type屬性

除了響應式圖像,標簽還可以用來選擇不同格式的圖像。比如,如果當前瀏覽器支持 Webp 格式,就加載這種格式的圖像,否則加載 PNG 圖像。


  
   
  ACME Corp

上面代碼中,標簽的type屬性給出圖像的 MIME 類型,srcset是對應的圖像 URL。

瀏覽器按照標簽出現的順序,依次檢查是否支持type屬性指定的圖像格式,如果支持就加載圖像,并且不再檢查后面的標簽了。上面例子中,圖像加載優先順序依次為 svg 格式、webp 格式和 png 格式。

六、參考鏈接

http://www.ruanyifeng.com/blo...

更多優質文章請關注公眾號

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/114819.html

相關文章

  • 老生常談響應開發

    摘要:什么是響應式設計作為一名合格的前端開發攻城獅工程師,做的最多的恐怕就是多端適配,多端兼容的工作了吧,那么如何解決一套代碼多端并行且多端適配呢這個時候響應式開發就應運而生了。五標簽的屬性除了響應式圖像,標簽還可以用來選擇不同格式的圖像。 什么是響應式設計? 作為一名合格的前端開發攻城獅(工程師),做的最多的恐怕就是多端適配,多端兼容的工作了吧,那么如何解決一套代碼多端并行且多端適配呢?這...

    wangzy2019 評論0 收藏0
  • 設計架構

    摘要:先來看一張系統前后端架構模型圖。一種接口的約定本文用于定義一種統一的接口設計方案,希望具有參考價值。,和都是常見的軟件架構設計模式,它通過分離關注點來改進代碼的組織方式。 如何無痛降低 if else 面條代碼復雜度 相信不少同學在維護老項目時,都遇到過在深深的 if else 之間糾纏的業務邏輯。面對這樣的一團亂麻,簡單粗暴地繼續增量修改常常只會讓復雜度越來越高,可讀性越來越差,有沒...

    graf 評論0 收藏0
  • 前端每周清單第 41 期 : Node 與 Rust、OpenCV 的火花,網絡安全二三事

    摘要:的網站仍然使用有漏洞庫上周發布了開源社區安全現狀報告,發現隨著開源社區的日漸活躍,開源代碼中包含的安全漏洞以及影響的范圍也在不斷擴大。與應用安全是流行的服務端框架,本文即是介紹如何使用以及其他的框架來增強應用的安全性。 showImg(https://segmentfault.com/img/remote/1460000012181337?w=1240&h=826); 前端每周清單專注...

    syoya 評論0 收藏0
  • 面試寶典

    摘要:有談談面試與面試題對于前端面試的一些看法。動態規劃算法的思想及實現方法幫大家理清動態規劃的解決思路以及原理方法前端經典面試題從輸入到頁面加載發生了什么這是一篇開發的科普類文章,涉及到優化等多個方面。極客學院前端練習題道練習題,面試季練練手。 由數據綁定和排序引入的幾個 JavaScript 知識點 在 JavaScript 的數據綁定和做簡單的表格排序中遇到的幾個知識點 [[JS 基礎...

    neu 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<