<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no, user-scalable=no" />
以上這段會放在 Html 的 Head 區塊中,以下大略說明其用意:
- width=device-width ==> Viewport 的寬度為 Screen 的寬度
- initial-scale=1 ==> 固定畫面比例為1
- user-scalable=no ==> 避免畫面被放大或縮小
- shrink-to-fit=no ==> 額外解決 iOS9 無法辨認 initial-scale 的新屬性
有人會覺得奇怪, width 和 device-width 有什麼不同?
主要是 CSS3 將特性中的 width 定義為「Viewport的寬度」,device-width 定義為「螢幕的寬度」,但以現在大環境而言,桌機、平版、手機,在判斷寬度時都有不同的見解(這種感覺就像是多年前切一個頁面,還要考慮到 IE6、IE7、IE11、Chrome、Safari、Firefox …… 調完就爆肝了)。
以桌機而言,width 被當成瀏覽器的畫面尺寸在處理,而 device-width 則被當成是螢幕解析度處理;平版或手機,width 被當成 Viewport 的寬度處理,但 device-width 的部份會因為OS版本的不同,有不同的處理方式。
因為這些問題太多太雜,所以 RWD 在設計時不使用 device-width,而是使用 width,利用 Viewport 的寬度來做判斷。不過也有一些較特殊的案件,必須利用 JavaScript 來取得螢幕解析度的值做判斷(我還沒那麼神,未來有機會再研究研究)。
另外有找到幾篇更詳細介紹的文章,有興趣的朋友可以自行研究一下