摘要:設(shè)備像素比設(shè)備像素比簡(jiǎn)稱定義了物理像素和設(shè)備獨(dú)立像素的對(duì)應(yīng)關(guān)系,它的值可以按如下的公式的得到設(shè)備像素比物理像素設(shè)備獨(dú)立像素在某一方向上,方向或者方向在中,可以通過獲取到當(dāng)前設(shè)備的。
視覺稿
在前端開發(fā)之前,視覺MM會(huì)給我們一個(gè)psd文件,稱之為視覺稿。
對(duì)于移動(dòng)端開發(fā)而言,為了做到頁面高清的效果,視覺稿的規(guī)范往往會(huì)遵循以下兩點(diǎn):
首先,選取一款手機(jī)的屏幕寬高作為基準(zhǔn)(以前是iphone4的320×480,現(xiàn)在更多的是iphone6的375×667)。
對(duì)于retina屏幕(如: dpr=2),為了達(dá)到高清效果,視覺稿的畫布大小會(huì)是基準(zhǔn)的2倍,也就是說像素點(diǎn)個(gè)數(shù)是原來的4倍(對(duì)iphone6而言:原先的375×667,就會(huì)變成750×1334)。
問題:
對(duì)于dpr=2的手機(jī),為什么畫布大小×2,就可以解決高清問題? 對(duì)于2倍大小的視覺稿,在具體的css編碼中如何還原每一個(gè)區(qū)塊的真實(shí)寬高(也就是布局問題)?
帶著問題,往下看…
一些概念
在進(jìn)行具體的分析之前,首先得知道下面這些關(guān)鍵性基本概念(術(shù)語)。
物理像素(physical pixel)
一個(gè)物理像素是顯示器(手機(jī)屏幕)上最小的物理顯示單元,在操作系統(tǒng)的調(diào)度下,每一個(gè)設(shè)備像素都有自己的顏色值和亮度值。
設(shè)備獨(dú)立像素(density-independent pixel)
設(shè)備獨(dú)立像素(也叫密度無關(guān)像素),可以認(rèn)為是計(jì)算機(jī)坐標(biāo)系統(tǒng)中得一個(gè)點(diǎn),這個(gè)點(diǎn)代表一個(gè)可以由程序使用的虛擬像素(比如: css像素),然后由相關(guān)系統(tǒng)轉(zhuǎn)換為物理像素。
所以說,物理像素和設(shè)備獨(dú)立像素之間存在著一定的對(duì)應(yīng)關(guān)系,這就是接下來要說的設(shè)備像素比。
設(shè)備像素比(device pixel ratio )
設(shè)備像素比(簡(jiǎn)稱dpr)定義了物理像素和設(shè)備獨(dú)立像素的對(duì)應(yīng)關(guān)系,它的值可以按如下的公式的得到:
設(shè)備像素比 = 物理像素 / 設(shè)備獨(dú)立像素 // 在某一方向上,x方向或者y方向
在javascript中,可以通過window.devicePixelRatio獲取到當(dāng)前設(shè)備的dpr。
在css中,可以通過-webkit-device-pixel-ratio,-webkit-min-device-pixel-ratio和
-webkit-max-device-pixel-ratio進(jìn)行媒體查詢,對(duì)不同dpr的設(shè)備,做一些樣式適配(這里只針對(duì)webkit內(nèi)核的瀏覽器和webview)。
綜合上面幾個(gè)概念,一起舉例說明下:
以iphone6為例:
設(shè)備寬高為375×667,可以理解為設(shè)備獨(dú)立像素(或css像素)。
dpr為2,根據(jù)上面的計(jì)算公式,其物理像素就應(yīng)該×2,為750×1334。
用一張圖來表現(xiàn),就是這樣(盜圖):
上圖中可以看出,對(duì)于這樣的css樣式:
width: 2px;
height: 2px;
在不同的屏幕上(普通屏幕 vs retina屏幕),css像素所呈現(xiàn)的大小(物理尺寸)是一致的,不同的是1個(gè)css像素所對(duì)應(yīng)的物理像素個(gè)數(shù)是不一致的。
在普通屏幕下,1個(gè)css像素 對(duì)應(yīng) 1個(gè)物理像素(1:1)。 在retina 屏幕下,1個(gè)css像素對(duì)應(yīng) 4個(gè)物理像素(1:4)。
參考http://www.html-js.com/articl...
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/50414.html
摘要:我們用小米舉例,屏幕像素物理像素為,設(shè)備獨(dú)立像素為,也就是說,一個(gè)設(shè)備獨(dú)立像素就包含個(gè)物理像素,同時(shí)我們能得出。 本文主要闡述移動(dòng)端布局中常遇到的一些基本概念,這些概念也適用于PC端,這些概念大概有:像素(pixel),ppi,分辨率,物理像素(physical pixel), CSS像素,設(shè)備獨(dú)立像素(devicedependent pixel) 像素 像素是圖像顯示的基本單位,同時(shí)...
摘要:最近在研究屏的適配問題,在具體方案討論之前,陸續(xù)做了一些理解筆記,現(xiàn)歸納如下。 最近在研究 Retina 屏的適配問題,在具體方案討論之前,陸續(xù)做了一些理解筆記,現(xiàn)歸納如下。具體方案的討論將另作文章。 中的 viewport 是布局視口 initial-scale 等的縮放是基于理想視口的 理想視口由設(shè)備各自提供,理想視口的寬度也是設(shè)備的獨(dú)立像素 所謂獨(dú)立是說這個(gè)設(shè)備獨(dú)立像素和像素...
摘要:設(shè)備像素比設(shè)備像素比簡(jiǎn)稱定義了物理像素和設(shè)備獨(dú)立像素的對(duì)應(yīng)關(guān)系,它的值可以按如下的公式的得到設(shè)備像素比物理像素設(shè)備獨(dú)立像素在某一方向上,方向或者方向在中,可以通過獲取到當(dāng)前設(shè)備的。 視覺稿 在前端開發(fā)之前,視覺MM會(huì)給我們一個(gè)psd文件,稱之為視覺稿。 對(duì)于移動(dòng)端開發(fā)而言,為了做到頁面高清的效果,視覺稿的規(guī)范往往會(huì)遵循以下兩點(diǎn): 首先,選取一款手機(jī)的屏幕寬高作為基準(zhǔn)(以前是iphone...
摘要:設(shè)備像素比設(shè)備像素比簡(jiǎn)稱定義了物理像素和設(shè)備獨(dú)立像素的對(duì)應(yīng)關(guān)系,它的值可以按如下的公式的得到設(shè)備像素比物理像素設(shè)備獨(dú)立像素在某一方向上,方向或者方向在中,可以通過獲取到當(dāng)前設(shè)備的。 視覺稿 在前端開發(fā)之前,視覺MM會(huì)給我們一個(gè)psd文件,稱之為視覺稿。 對(duì)于移動(dòng)端開發(fā)而言,為了做到頁面高清的效果,視覺稿的規(guī)范往往會(huì)遵循以下兩點(diǎn): 首先,選取一款手機(jī)的屏幕寬高作為基準(zhǔn)(以前是iphone...
摘要:設(shè)備獨(dú)立像素是一個(gè)整體概念,包括了像素,比如像素,只是在機(jī)中,像素不叫像素了,而叫設(shè)備獨(dú)立像素。設(shè)備像素和獨(dú)立設(shè)備像素的關(guān)系實(shí)例已為例設(shè)備寬高為,可以理解為設(shè)備獨(dú)立像素或像素。獲得設(shè)備像素比后,便可得知設(shè)備像素與像素之間的比例。 1.概念 設(shè)備像素(device pixel)簡(jiǎn)寫DP 設(shè)備像素又稱 **物理像素** ,是設(shè)備能控制顯示的最小單位,我們可以把它看做顯示器上的一個(gè)點(diǎn)。我們常...
閱讀 1296·2021-11-24 09:39
閱讀 1564·2021-09-07 09:59
閱讀 3511·2019-08-30 15:54
閱讀 2500·2019-08-30 11:00
閱讀 2693·2019-08-29 15:06
閱讀 2181·2019-08-26 13:52
閱讀 455·2019-08-26 13:24
閱讀 2530·2019-08-26 12:20