天天看點

html5 手機頁面

在用HTML5開發手機應用或手機網頁時,<head>部分總會有如下一段代碼,這段代碼到底什麼意思呢。在網上,大家會得到很多答案。我從網上搜集了部分介紹,整理一下,以留備用。

輕按兩下代碼全選

1

​<​

​​

​meta​

​ ​

​name​

​=​

​"viewport"​

​content​

​=​

​"width=device-width,height=device-height,inital-scale=1.0,maximum-scale=1.0,user-scalable=no;"​

​/>​

什麼是Viewport

    手機浏覽器是把頁面放在一個虛拟的“視窗”(viewport)中,通常這個虛拟的“視窗”(viewport)比螢幕寬,這樣就不用把每個網頁擠到很小的視窗中(這樣會破壞沒有針對手機浏覽器優化的網頁的布局),使用者可以通過平移和縮放來看網頁的不同部分。移動版的 Safari 浏覽器最新引進了 viewport 這個 meta tag,讓網頁開發者來控制 viewport 的大小和縮放,其他手機浏覽器也基本支援。

width:控制 viewport 的大小,可以指定的一個值,如果 600,或者特殊的值,如 device-width 為裝置的寬度(機關為縮放為 100% 時的 CSS 的像素)。 height:和 width 相對應,指定高度。 initial-scale:初始縮放比例,也即是當頁面第一次 load 的時候縮放比例。 maximum-scale:允許使用者縮放到的最大比例。 minimum-scale:允許使用者縮放到的最小比例。 user-scalable:使用者是否可以手動縮放

    “viewport”,翻譯為中文可以叫做“視區”,大家都知道移動裝置的螢幕一般都比PC小很多,webkit浏覽器會将一個較大的“虛拟”視窗映射到移動裝置的螢幕上,預設的虛拟視窗為980像素寬(目前大部分網站的标準寬度),然後按一定的比例(3:1或2:1)進行縮放。也就是說當我們加載一個普通網頁的時候,webkit會先以980像素的浏覽器标準加載網頁,然後再縮小為490像素的寬度。注意這個縮小是一個全局縮小,也就是頁面上的所有元素都會縮小。如下圖所示,一個普通的文章頁面在移動裝置的效果:

    頁面以980像素加載,沒有變形,但是按比例縮放後,很多東西用肉眼基本看不清了。

    那麼我們能不能人為改變webkit的視區呢?當然能,在<head>與</head>之間加上如下視區代碼:

​<​

​meta​

​name​

​=​

​"viewport"​

​content​

​=​

​"width=500"​

​/>​

我們來看看頁面加上強制視區大小指令後效果怎麼樣? 如下圖所示:

    那麼有沒有更好的方法呢?比如說我們自動檢測移動裝置螢幕大小,然後讓内容自适應。看下面的代碼,device-width将自動檢測移動裝置的螢幕寬度:

​<​

​meta​

​name​

​=​

​"viewport"​

​content​

​=​

​"width=device-width"​

​/>​