什麼是Viewporthtml
手機瀏覽器是把頁面放在一個虛擬的「窗口」(viewport)中,一般這個虛擬的「窗口」(viewport)比屏幕寬,這樣就不用把每一個網頁擠到很小的窗口中(這樣會破壞沒有針對手機瀏覽器優化的網頁的佈局),用戶能夠經過平移和縮放來看網頁的不一樣部分。移動版的 Safari 瀏覽器最新引進了 viewport 這個 meta tag,讓網頁開發者來控制 viewport 的大小和縮放,其餘手機瀏覽器也基本支持。android
Viewport 基礎web
一個經常使用的針對移動網頁優化過的頁面的 viewport meta 標籤大體以下:瀏覽器
<meta name=」viewport」 content=」width=device-width, initial-scale=1, maximum-scale=1″>app
width:控制 viewport 的大小,能夠指定的一個值,若是 600,或者特殊的值,如 device-width 爲設備的寬度(單位爲縮放爲 100% 時的 CSS 的像素)。
height:和 width 相對應,指定高度。
initial-scale:初始縮放比例,也便是當頁面第一次 load 的時候縮放比例。
maximum-scale:容許用戶縮放到的最大比例。
minimum-scale:容許用戶縮放到的最小比例。
user-scalable:用戶是否能夠手動縮放佈局
Viewport 參考資料優化
Mozilla 開發者博客上有 viewport 使用教程。
Apple 開發者站上面有viewport 詳細的描述。
quirksmode.org 有詳細的 viewport 在各個手機瀏覽器不一樣之處介紹。網站
android web開發入門ui
通俗的講,就是爲移動設備開發網頁。伴隨着3G時代的到來、瀏覽器技術的不斷進步,愈來愈多的人開始離開PC,使用手中的移動設備(手機、PSP、平板)上網。若是您是一個注意生活細節的人,那麼在您乘坐地鐵、公交的時候,請認真看看你周圍的人都在幹什麼?是否是每人抱着一個手機在聽音樂、看新聞、聊天呢?scala
做爲一個開發人員,如何開發出更適合於移動設備的網頁呢?如何讓您的站點能被大多數移動設備更輕鬆地訪問?本系列文章將會一一的爲您解答。
當今最受歡迎的手機系統包括 Android,iPhone ,Symbian,BlackBerry 與Web OS。這些系統瀏覽器都是基於webkit核心,而webkit號稱是一款全功能的移動瀏覽器,支持 HTML + CSS + JavaScript,但因爲移動設備自己與PC的差別,致使咱們開發的網頁在移動設備上老是會存在一些不如人意的地方。
首先咱們要接觸的第一個概念就是「viewport」,翻譯爲中文能夠叫作「視區」,你們都知道移動設備的屏幕一段都比PC小不少,webkit瀏覽器會將一個較大的「虛擬」窗口映射到移動設備的屏幕上,默認的虛擬窗口爲980像素寬(目前大部分網站的標準寬度),而後按必定的比例(3:1或2:1)進行縮放。也就是說當咱們加載一個普通網頁的時候,webkit會先以980像素的瀏覽器標準加載網頁,而後再縮小爲490像素的寬度。注意這個縮小是一個全局縮小,也就是頁面上的全部元素都會縮小。以下圖所示,一個普通的文章頁面在移動設備的效果:
頁面以980像素加載,沒有變形,可是按比例縮放後,已經沒有多少東西是能夠用肉眼看清的了,好在通常的移動設備都支持屏幕放大。放大以後,咱們才能看清屏幕上的內容。
怎麼樣,對viewport的概念有必定的瞭解了吧?那麼咱們能不能人爲改變webkit的視區呢?固然能,在<head>與</head>之間加上以下視區代碼:
<meta name="viewport" content="width=500" />
咱們來看看頁面加上強制視區大小命令後效果怎麼樣? 以下圖所示:
怎麼樣?是否是好了不少?那麼有沒有更好的方法呢?好比說咱們自動檢測移動設備屏幕大小,而後讓內容自適應。很簡單,看來面的代碼:
<meta name="viewport" content="width=device-width" />
device-width將自動檢測移動設備的屏幕寬度。
轉:http://hi.baidu.com/tang_guangyao/item/3dda73c83936afe5984aa095
參考:http://www.ruanyifeng.com/blog/2012/05/responsive_web_design.html
Viewport的一些研究: