微信H5頁(yè)面適配

Viewport

手機(jī)瀏覽器是把頁(yè)面放在一個(gè)虛擬的“窗口”(viewport)中,通常這個(gè)虛擬的“窗口”(viewport)比屏幕寬,這樣就不用把每個(gè)網(wǎng)頁(yè)擠到很小的窗口中(這樣會(huì)破壞沒(méi)有針對(duì)手機(jī)瀏覽器優(yōu)化的網(wǎng)頁(yè)的布局),用戶可以通過(guò)平移和縮放來(lái)看網(wǎng)頁(yè)的不同部分。移動(dòng)版的 Safari 瀏覽器最新引進(jìn)了 viewport 這個(gè) meta tag,讓網(wǎng)頁(yè)開(kāi)發(fā)者來(lái)控制 viewport 的大小和縮放,其他手機(jī)瀏覽器也基本支持。

Viewport 基礎(chǔ)
一個(gè)常用的針對(duì)移動(dòng)網(wǎng)頁(yè)優(yōu)化過(guò)的頁(yè)面的 viewport meta 標(biāo)簽大致如下:

<meta name=”viewport” content=”width=width, initial-scale=1, maximum-scale=1″>
  • width:viewport 指定寬度。
  • height:viewport 指定高度。
  • initial-scale:初始縮放比例,也即是當(dāng)頁(yè)面第一次 load 的時(shí)候縮放比例。
  • maximum-scale:允許用戶縮放到的最大比例。
  • minimum-scale:允許用戶縮放到的最小比例。
  • user-scalable:用戶是否可以手動(dòng)縮放

固定頁(yè)面寬度為640px

if(/Android (\d+\.\d+)/.test(navigator.userAgent)){
    var version = parseFloat(RegExp.$1);
    if(version>2.3){
        var phoneScale = parseInt(window.screen.width)/640;
        document.write('<meta name="viewport" content="width=640, minimum-scale = '+ phoneScale +', maximum-scale = '+ phoneScale +', target-densitydpi=device-dpi">');
    }else{
        document.write('<meta name="viewport" content="width=640, target-densitydpi=device-dpi">');
    }
}else{
    document.write('<meta name="viewport" content="width=640, user-scalable=no, target-densitydpi=device-dpi">');
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 剛開(kāi)始做移動(dòng)端web開(kāi)發(fā)的同學(xué)應(yīng)該都碰到過(guò)頁(yè)面適配問(wèn)題,為什么我在開(kāi)發(fā)手機(jī)上調(diào)試好的頁(yè)面在其他手機(jī)會(huì)有這樣或那樣的...
    留七七閱讀 19,761評(píng)論 5 80
  • 原文地址 在移動(dòng)設(shè)備上進(jìn)行網(wǎng)頁(yè)的重構(gòu)或開(kāi)發(fā),首先得搞明白的就是移動(dòng)設(shè)備上的viewport了,只有明白了viewp...
    matthewm閱讀 1,601評(píng)論 0 4
  • 開(kāi)發(fā)移動(dòng)網(wǎng)頁(yè)時(shí),你一定會(huì)遇到下面這段代碼: 在網(wǎng)頁(yè)的 中增加以上這句話,可以讓網(wǎng)頁(yè)的寬度自動(dòng)適應(yīng)手機(jī)屏幕的寬度。其...
    gzgogo閱讀 2,445評(píng)論 4 16
  • 不要問(wèn)我歸期 不要喚醒我心中歸家的希冀 我怕我會(huì)將這里的時(shí)光拋棄 不顧一切奔向那溫暖的回憶 老爸在生氣 老媽在嫌棄...
    有兔煢煢閱讀 519評(píng)論 13 9
  • C#語(yǔ)言語(yǔ)法講座-更新到C#3.0特性 C#3.0特性 l匿名類(lèi)型,類(lèi),方法 如果只用一次,盡量使用匿名,避免沖突...
    Babybus_Unity閱讀 339評(píng)論 0 0

友情鏈接更多精彩內(nèi)容