移動端頁面適配以及meta的屬性和用法

移動端段適配一直都是我們開發過程中最頭疼的問題,下面總結了一些適配的方法,有的是轉自其它地方,由于本人水平有限,若有錯漏之處敬請諒解。


一、rem布局

代碼如下:
注意這段代碼一定要放在body之上,否則無效。

<script type="text/javascript">
        (function (doc, win) {
            var docEl = doc.documentElement,
                // orientationchange 事件是在用戶水平或者垂直翻轉設備(即方向發生變化)時觸發的事件。
                // onresize 事件會在窗口或框架被調整大小時發生。
                resizeEvt = 'orientationchange' in window ? 'orientationchange' : 'resize',
                recalc = function () {
                    window.clientWidth = docEl.clientWidth;
                    if (!window.clientWidth) return;
                    docEl.style.fontSize = 40 * (window.clientWidth / 640) + 'px';
                    window.base = 40 * (window.clientWidth / 640);
                };
            if (!doc.addEventListener) return;
            win.addEventListener(resizeEvt, recalc, false);
 
            doc.addEventListener('DOMContentLoaded', recalc, false);
        })(document, window);
 </script>

也可參照http://caibaojian.com/flexible-js.html

二、首先請了解一下移動前端中 viewport (視口)http://www.css88.com/archives/5975

這里介紹一下幾個移動前端適配—低級、無趣、一堆問題的老方法。早在幾年前,移動前端適配有幾個很簡單使用的方法。那時屏幕尺寸或者說分辨率沒如今這么多。一般設計師設計移動端頁面統一按照640像素的寬度設計。因為當時的主流是iPhone4,iPhone4s ,iPhone5及iPhone5s,物理像素寬度為 640,分辨率為320。其他安卓機型可以根據這些尺寸做簡單粗暴的匹配。

例如下面是適配最簡單粗暴的方法,而且根據我平時查看項目的代碼的習慣,還有相對一部分項目還是使用這個方法做項目,或者維護項目:

<meta name="eqMobileViewport" content="width=320,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no"/>

看起來很簡單,也很實用。開發時候一切根據640的設計稿除以2處理,字體也用簡單的像素做單位(用rem換算麻煩)似乎是很完美,但是實際情況,特別是一些對齊,背景吻合總是會出現問題。還有就是用現在高分辨率的iPhone6s等手機看,總是會被設計師鄙視。

如今手機屏幕尺寸越來越多,可以稍微升級一下上面的方法,同樣在html頭部head標簽中先插入一個meta標簽,在插入一個腳本設置縮放值:

<meta id="eqMobileViewport" name="viewport" content="width=320, initial-scale=1, maximum-scale=1, user-scalable=no">
<script>
 var g = document.documentElement.clientWidth / 320;
 document.getElementById('eqMobileViewport').setAttribute("content", "width=320, initial-scale=" + g + ", maximum-scale=" + g + ", user-scalable=no")
</script>

這樣就比較完美了。

三、meta基礎知識

也可參照以下網站

http://www.daqianduan.com/6281.html

http://www.w3cfuns.com/notes/18165/f08c0ec910dad6d2c90807a0318abda8.html

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 前言 對于熟悉pc端的小伙伴來說,對于靜態頁面的布局,一般都是沒有什么問題的,為了保持各瀏覽器顯示的一致性,無論是...
    itclanCoder閱讀 13,711評論 5 61
  • 剛開始做移動端web開發的同學應該都碰到過頁面適配問題,為什么我在開發手機上調試好的頁面在其他手機會有這樣或那樣的...
    留七七閱讀 19,504評論 5 80
  • 在移動互聯網快速發展的今天,手機的種類和尺寸越來越多,作為前端的小伙伴們可能會越來越頭疼,但又不得不去適配一款又一...
    keenjaan閱讀 26,912評論 9 86
  • 一、meta標簽的效果 移動端頁面一般會在head頭部添加如下meta標簽。 該meta標簽是否添加對頁面渲染的影...
    nimw閱讀 3,637評論 0 5
  • 7月19日年輕人發來視頻,原來是火車上的鏡頭,西裝革履的,怎么這么帥氣整齊,原來是在去華盛頓最后一次面試的路上呢!...
    田園牧歌123閱讀 128評論 0 0