移動(dòng)設(shè)備屏幕viewport及各類像素的理解

<meta name="viewport" content="width=device-width;initial-scale=1">

移動(dòng)頁面開發(fā)時(shí)候頭部常常用到這句meta王污;來定義移動(dòng)設(shè)備viewport可視區(qū)域的大小棒妨;
在PC端的網(wǎng)站開發(fā)中,設(shè)計(jì)師按照某個(gè)分辨率設(shè)計(jì)的界面含长,PC端可以做到同尺寸大小的還原券腔,但移動(dòng)設(shè)備的屏幕尺寸較小,區(qū)別于PC端拘泞,可視范圍有限纷纫,傳統(tǒng)的網(wǎng)頁在移動(dòng)端瀏覽器卻不能完全顯示,所以移動(dòng)端瀏覽器視口即viewport大小可以改變田弥,以適應(yīng)頁面顯示涛酗。

viewport俗稱視口,用來描述一塊區(qū)域,瀏覽器可以在這塊區(qū)域上去排版商叹、渲染網(wǎng)頁燕刻。瀏覽器默認(rèn)情況下,viewport可能比手機(jī)屏幕大很多剖笙。apple的viewport大小是980px卵洗。但是這樣的網(wǎng)頁即使能正確的顯示出來也得縮放或者用滾動(dòng)條,所以我們?cè)趯懬岸司W(wǎng)頁的時(shí)候弥咪,會(huì)用一個(gè)width=device-width的viewport过蹂,這樣我們css里看到的屏幕總寬度大概在320px左右,1px代表的物理像素?cái)?shù)會(huì)自動(dòng)根據(jù)屏幕密度進(jìn)行換算聚至。

再來說說物理像素酷勺,設(shè)備像素,css像素扳躬,設(shè)備獨(dú)立像素脆诉,設(shè)備分辨率,設(shè)備像素比贷币,像素密度這幾個(gè)概念击胜。
這幾個(gè)名詞特別容易混淆。

物理像素其實(shí)就是設(shè)備像素役纹,是設(shè)備上能控制顯示的最小單位偶摔,這些像素可以看成是設(shè)備屏幕上的一個(gè)個(gè)點(diǎn)。

css像素就是我們?cè)陧撁骈_發(fā)中定義元素寬高位置的單位促脉,是web編程的一個(gè)概念辰斋,是抽象的,用于邏輯上衡量物理像素的單位瘸味。與物理像素之間存在對(duì)應(yīng)關(guān)系亡呵,可以轉(zhuǎn)換。

設(shè)備獨(dú)立像素的概念包含了css像素硫戈,是虛擬像素。與屏幕密度有關(guān)下硕。android機(jī)中CSS 像素就不叫”CSS像素”了而是叫”設(shè)備獨(dú)立像素”丁逝。PC端和部分移動(dòng)端通過screen.width/height 獲取的這個(gè)值就是設(shè)備獨(dú)立像素(CSS 像素),而不是設(shè)備的屏幕分辨率梭姓,因?yàn)樵O(shè)備的屏幕分辨率對(duì)于WEB開發(fā)者來說是無法通過代碼來獲得的霜幼。

設(shè)備分辨率即時(shí)指屏幕顯示器的分辨率,通常設(shè)計(jì)師在涉及界面的時(shí)候會(huì)選取某個(gè)設(shè)備的分辨率作為界面分辨率誉尖。比如根據(jù)iphone6設(shè)備分辨率的大小設(shè)計(jì)的界面大小750px*1334px罪既。

這樣看來對(duì)這幾個(gè)名詞就有了一個(gè)具體的理解了。上面我們也說到物理像素和設(shè)備獨(dú)立像素之間存在對(duì)應(yīng)關(guān)系。那么就有了設(shè)備像素比這個(gè)東西琢感。

window.devicePixelRatio是設(shè)備上物理像素和設(shè)備獨(dú)立像素(device-independent pixels (dips))的比例丢间。公式表示就是:window.devicePixelRatio = 物理像素 / dips
當(dāng)頁面設(shè)置了<meta name="viewport" content="width=device-width">
時(shí)候,document.documentElement.clientWidth
在大部分瀏覽器下驹针,得到的是布局視區(qū)的寬度烘挫,等同于dips的寬度。對(duì)于screen.width的值:
在iOS視網(wǎng)膜設(shè)備上柬甥,screen.width返回dips寬饮六。因此,在豎著顯示的時(shí)候苛蒲,視網(wǎng)膜顯示屏的ipad和非視網(wǎng)膜顯示屏的ipad返回的都是768卤橄。
而Android設(shè)備上,screen.width返回的是物理像素寬度臂外。

PC端的時(shí)候設(shè)備像素比的值默認(rèn)為1窟扑,即頁面沒有縮放的情況下一個(gè)物理像素 = 一個(gè)設(shè)備獨(dú)立像素。JavaScript 中的window.devicePixelRatio
可以獲取設(shè)備中的像素比值寄月。例如iphone6的設(shè)備像素比為2辜膝;iphone 6plus的設(shè)備像素比為3。

PPI就是屏幕像素密度(pixel density)漾肮。PPI的值越高厂抖,畫質(zhì)越好,也就是越細(xì)膩克懊,看起來更有逼格忱辅。PPI 值超過300的叫做超高密度屏幕,Apple 設(shè)備中叫超高密度屏幕為Retina視網(wǎng)膜屏幕谭溉。

另附:

var w1 = document.body.clientWidth,h1 = document.body.clientHeight; //body可視區(qū)域?qū)捀?var w2 = window.innerWidth,h2 = window.innerHeight; //窗口寬高
var w3 = screen.width,h3 = screen.height; //設(shè)備屏幕寬高
var w = document.documentElement.clientWidth,h = document.documentElement.clientHeight; //瀏覽器視口的寬高
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末墙懂,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子扮念,更是在濱河造成了極大的恐慌损搬,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,183評(píng)論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件柜与,死亡現(xiàn)場(chǎng)離奇詭異巧勤,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)弄匕,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,850評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門颅悉,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人迁匠,你說我怎么就攤上這事剩瓶【岳#” “怎么了?”我有些...
    開封第一講書人閱讀 168,766評(píng)論 0 361
  • 文/不壞的土叔 我叫張陵延曙,是天一觀的道長(zhǎng)豌鹤。 經(jīng)常有香客問我,道長(zhǎng)搂鲫,這世上最難降的妖魔是什么傍药? 我笑而不...
    開封第一講書人閱讀 59,854評(píng)論 1 299
  • 正文 為了忘掉前任,我火速辦了婚禮魂仍,結(jié)果婚禮上拐辽,老公的妹妹穿的比我還像新娘。我一直安慰自己擦酌,他們只是感情好俱诸,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,871評(píng)論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著赊舶,像睡著了一般睁搭。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上笼平,一...
    開封第一講書人閱讀 52,457評(píng)論 1 311
  • 那天园骆,我揣著相機(jī)與錄音,去河邊找鬼寓调。 笑死锌唾,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的夺英。 我是一名探鬼主播晌涕,決...
    沈念sama閱讀 40,999評(píng)論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼痛悯!你這毒婦竟也來了余黎?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,914評(píng)論 0 277
  • 序言:老撾萬榮一對(duì)情侶失蹤载萌,失蹤者是張志新(化名)和其女友劉穎惧财,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體扭仁,經(jīng)...
    沈念sama閱讀 46,465評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡可缚,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,543評(píng)論 3 342
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了斋枢。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,675評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡知给,死狀恐怖瓤帚,靈堂內(nèi)的尸體忽然破棺而出描姚,到底是詐尸還是另有隱情,我是刑警寧澤戈次,帶...
    沈念sama閱讀 36,354評(píng)論 5 351
  • 正文 年R本政府宣布轩勘,位于F島的核電站,受9級(jí)特大地震影響怯邪,放射性物質(zhì)發(fā)生泄漏绊寻。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,029評(píng)論 3 335
  • 文/蒙蒙 一悬秉、第九天 我趴在偏房一處隱蔽的房頂上張望澄步。 院中可真熱鬧,春花似錦和泌、人聲如沸村缸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,514評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽梯皿。三九已至,卻和暖如春县恕,著一層夾襖步出監(jiān)牢的瞬間东羹,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,616評(píng)論 1 274
  • 我被黑心中介騙來泰國打工忠烛, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留属提,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 49,091評(píng)論 3 378
  • 正文 我出身青樓况木,卻偏偏與公主長(zhǎng)得像垒拢,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子火惊,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,685評(píng)論 2 360

推薦閱讀更多精彩內(nèi)容