最近在學習移動網頁開發,首先看到head里面設置了下面這個屬性:
一、什么是Viewport
二、Viewport基礎
一個常用的針對移動網頁優化過的頁面的 viewport meta 標簽大致如下:
1、width : 控制viewport的大小,可以指定一個值,如600, 或者特殊的值,如device-width為設備的寬度(單位是縮放為100%的CSS的像素)
2、height : 和width相對應,指定高度
3、initial-scale : 初始縮放比例,頁面第一次加載時的縮放比例
4、maximum-scale : 允許用戶縮放到的最大比例,范圍從0到10.0
5、minimum-scale : 允許用戶縮放到的最小比例,范圍從0到10.0
6、user-scalable : 用戶是否可以手動縮放,值可以是:①yes、 true允許用戶縮放;②no、false不允許用戶縮放
三、關於viewport的一些問題
viewport並非只是ios上的獨有屬性,在android、winphone上同樣也有viewport。它們要解決的問題是相同的,即無視設備的真實分辨率,直接通過dpi,在物理尺寸和瀏覽器之間重設分辨率,這個分辨率和設備的分辨率無關。比如,你拿個3.5寸-320 * 480的iphone3 gs、3.5寸-640 * 960的iphone4或者9.7寸-1024*768的ipad2,雖然設備的分辨率不同,物理尺寸也不同,但你可以通過設置viewport讓它們在瀏覽器里有相同的分辨率。比如說,你的網站是800px寬,你可以通過設置viewport的width=800,來讓你的網站在這三個不同的設備上都剛好滿屏顯示你的網站。
網上一搜關於viewport的知識,基本上全都是如下信息:
這段代碼的意思是,讓viewport的寬度等於物理設備上的真實分辨率,不允許用戶縮放。一都主流的web app都是這么設置的,它的作用其實是故意舍棄viewport,不縮放頁面,這樣dpi肯定和設備上的真實分辨率是一樣的,不做任何縮放,網頁會因此顯得更高細膩。