移動端適配筆記

viewport

viewport就是視口,它是頁面的顯示大小,區(qū)別于瀏覽器窗口的大小,它可能比瀏覽器窗口大。

1px

在css中我們一般使用px作為單位,但是css的1px和實(shí)際的物理像素點(diǎn)的1px是有區(qū)別的,iphone4以前分辨率是320*480,在蘋果推出retina屏之后,分辨率變成了640*960,由于屏幕大小沒變化,物理像素卻增加了一倍,導(dǎo)致這個時候一個css像素是等于兩個物理像素的。

window對象有一個devicePixelRatio屬性,俗稱dpr,它是設(shè)備物理像素和css像素的比例,所以640*960的時候,dpr為2。

iphone6設(shè)備寬高為375*667,dpr為2,所以物理像素就應(yīng)該是750*1334.

視口寬度

不同的設(shè)備有不同的視口寬度,但是所有的iphone的理想視口寬度都是320px,無論它的屏幕寬度是320還是640,就是說iphone里面,320px就代表理想中iphone屏幕的寬度,這樣可以讓同一個網(wǎng)站在不同分辨率下的瀏覽效果差不多。安卓設(shè)備不同,很很多種視口寬度,但常見的基本也就是320,360,384等幾種。

通過設(shè)置<meta name="viewport" content="width=device-width">來讓視口獲得理想寬度。同樣,設(shè)置<meta name="viewport" content="initial-scale=1">也可以讓視口獲得理想寬度,因?yàn)檫@個縮放就是根據(jù)理想寬度來縮放的。當(dāng)兩個都寫的時候取大的。

淘寶的解決方案

引入淘寶的flexible的文件,最好在html的頂部,這個js會自動幫我們在html標(biāo)簽上生成data-dpr和font-size,然后根據(jù)dpr的大小,動態(tài)設(shè)置viewport的縮放。font-size為移動設(shè)備的物理像素 / 10,一般設(shè)置rem先寫死一個常量,比如設(shè)計(jì)稿是750,常量就是75,這是為,設(shè)置rem通過實(shí)際寬度 / 75,設(shè)置字體一般通過data-dpr數(shù)值進(jìn)行縮放。圖片通過css的屬性選擇器[data-dpr]進(jìn)行選擇大圖。

flexible的data-dpr處理方案是安卓統(tǒng)一dpr為1,蘋果根據(jù)屏幕大小來設(shè)置dpr。

網(wǎng)易解決方案

比如設(shè)計(jì)稿是640,定rem為100px,即1rem=100px,這個時候計(jì)算font-size = deviceWidth / 6.4,然后設(shè)置<meta name="viewport" content="initial-scale=1,maximum-scale=1, minimum-scale=1">

當(dāng)物理寬度過大

var deviceWidth = document.documentElement.clientWidth;
if(deviceWidth > 640) deviceWidth = 640;
document.documentElement.style.fontSize = deviceWidth / 6.4 + 'px';

當(dāng)deviceWidth大于640時,物理分辨率要大于1280(dpr:2),這個時候應(yīng)該去訪問pc網(wǎng)站了。可以給body設(shè)置一個6.4rem,margin:0 auto;居中顯示。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

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

  • 我們第一次接觸移動web的時候,直觀印象樣應(yīng)該是:屏幕比pc小很多,所以對pc端設(shè)計(jì)的界面,不一定(或者說不完全)...
    Scaukk閱讀 17,148評論 6 46
  • 一、meta標(biāo)簽的效果 移動端頁面一般會在head頭部添加如下meta標(biāo)簽。 該meta標(biāo)簽是否添加對頁面渲染的影...
    nimw閱讀 3,803評論 0 5
  • 剛開始做移動端web開發(fā)的同學(xué)應(yīng)該都碰到過頁面適配問題,為什么我在開發(fā)手機(jī)上調(diào)試好的頁面在其他手機(jī)會有這樣或那樣的...
    留七七閱讀 19,771評論 5 80
  • 在移動互聯(lián)網(wǎng)快速發(fā)展的今天,手機(jī)的種類和尺寸越來越多,作為前端的小伙伴們可能會越來越頭疼,但又不得不去適配一款又一...
    keenjaan閱讀 27,232評論 9 86
  • 人生若只如初見,何事秋風(fēng)悲畫扇。 等閑變卻故人心,卻道故人心易變。 驪山語罷清宵半,淚雨霖鈴終不怨。 何如薄幸錦衣...
    親愛的惟翊閱讀 225評論 0 0

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