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