天天看點

H5開發小技巧一、文檔head模闆建構

<!DOCTYPE html>
<head>
    <meta charset="utf-8" />
    <meta content="telephone=no" name="format-detection" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-  scale=1.0, maximum-scale=1.0,user-scalable=no"/>
</head>
           

DOCTYPE聲明:采用HTML5的聲明格式,不需要聲明引用DTD

H5開發小技巧一、文檔head模闆建構

telephone=no 禁止把頁面中的數字轉化為撥号連結。

viewport 設定頁面viewport寬度=裝置寬度,縮放值為1,最大最小縮放值均為1(多重設定是為了相容各種裝置)。

viewport标簽共有以下值:

width:控制 viewport 的大小,可以指定的一個值,如果 600,或者特殊的值, 如 device-width 為裝置的寬度(機關為縮放為 100% 時的 CSS 的像素)。

height:和 width 相對應,指定高度。

initial-scale:初始縮放比例,也即是當頁面第一次 load 的時候縮放比例。

maximum-scale:允許使用者縮放到的最大比例,值的範圍為0.25至10.0之間

minimum-scale:允許使用者縮放到的最小比例,值的範圍為0.25至10.0之間

user-scalable:使用者是否可以手動縮放

2.适配規則

移動端網頁适配有多種方案:定寬布局,響應式布局,寬度自适應布局,彈性布局等,我們的适配代碼是為了實作彈性布局:頁面整體随手機螢幕寬度變化等比縮放。

window.onresize = r;
function r(resizeNum){
        //核心适配代碼
    var winW = window.innerWidth;
    document.getElementsByTagName("html")[].style.fontSize=winW*+"px";
        //核心适配代碼
    if(winW>window.screen.width&&resizeNum<=){
        setTimeout(function(){
            r(++resizeNum)
        }, );
    }
    else{
        document.getElementsByTagName("body")[].style.opacity = ;
    }
}
setTimeout(function(){r()}, )
           

在頁面中或者js檔案中放入這段适配代碼即可在頁面中按照以下所給比例使用rem。

rem:HTML5新的計量機關,相對于根元素的font-size來設定大小,一般浏覽器預設font-size=16px,即1rem=16px,為了友善計算,并且保證在電腦的chrome中正确顯示(chrome中字型最小顯示為12px),我們使用js進行計算,使頁面winW=640時,html的font-size=100px,頁面為其它寬度時font-size按此規則等比縮放。是以我們的比例為:以640寬的UI圖為基準,1rem=100px。

H5開發小技巧一、文檔head模闆建構

需要設定頁面body的css:opacity:0,因為部分機型中viewport縮放是有時間差的,是以我們檢測當其viewport縮放完成後再設定opacity:1。

3.頁面建構

以寬度為640的UI圖為基準:頁面中所有需要用px機關的地方都按100:1換算為rem,當然也可以使用百分比(必要時),百分比沒有換算關系,和web端用法一緻。

html5标簽和css3屬性:盡量使用語義化标簽,優化文檔結構,減少标簽嵌套,輔助性樣式(如橫線、圖示等)盡量使用css3僞類建構,常見的css3屬性在移動端支援度都很高,不存在相容性問題。如果要使用比較特殊的,或者自己不太确定的,可以在該網站中檢測其相容性:http://caniuse.com/

4.js架構

如果頁面簡單,直接使用原生js即可,推薦使用HTML5的新的js api:querySelector,querySelectorAll等

複雜頁面:zepto.js,與jquery用法高度相似。

繼續閱讀