什麽是Viewport
手機瀏覽器是把頁面放在一個虛擬的「窗口」(viewport) 中,通常這個虛擬的「窗口」(viewport) 會比螢幕寬,這樣就不用把每個網頁擠到很小的窗口中(這樣會破壞沒有針對手機瀏覽器優化的網頁的布局),用戶可以通過平移和縮放來看網頁的不同部分。移動版的 Safari 瀏覽器最新引進了 viewport 這個 meta tag,讓網頁開發者來控制 viewport 的大小和縮放,其他手機瀏覽器也基本支持。舉例來說,一個常用於RWD優化過的頁面上,常會有這樣的程式碼:
<meta name=”viewport” content=”width=device-width, initial-scale=1, maximum-scale=1″>
Viewport的屬性
- width:控制 viewport 的大小,可以指定的一個值,例如600或者其他的值,如 device-width 為設備的寬度(單位為縮放為 100% 時的 CSS 的像素)。
- height:和 width 相對應,指定高度。
- initial-scale:初始縮放比例,也即是當頁面第一次 load 的時候縮放比例。
- maximum-scale:允許用戶縮放到的最大比例。
- minimum-scale:允許用戶縮放到的最小比例。
- user-scalable:用戶是否可以手動縮放
其中特別需要注意的是 width這個屬性,比較不容易搞懂。
舉例來說,當你的頁面沒有經過RWD優化,最適合的解析度是960px寬,因此有些使用者拿著螢幕800像素寬的手機時,會無法看到右方160px的區塊,必須進行橫移或縮放。
而你希望使用者無論拿著多大的手機,看到你的網頁時都能夠從左到右完整顯示的顯示網頁內容。於是你就需要設定width為960px,此時無論是480px, 640px, 800px 甚至是 1280px寬的手機,都會調整顯示比例至能完整顯示800px的寬度。
當然,手機的解析度是不可能變的,於是小手機上看到的內容就會比較模糊不清,畢竟他是試圖使用480px來顯示960px的內容。