物理像素(physical pixel)
物理像素又被稱爲設備像素(dp),他是顯示設備中一個最微小的物理部件。一個設備的物理像素是固定不變的。每個像素可以根據操作系統設置自己的顏色和亮度。所謂的一倍屏、二倍屏(Retina)、三倍屏,指的是設備以多少物理像素來顯示一個CSS像素,也就是說,多倍屏以更多更精細的物理像素點來顯示一個CSS像素點,在普通屏幕下1個CSS像素對應1個物理像素,而在Retina屏幕下,1個CSS像素對應的卻是4個物理像素。
CSS像素
CSS像素是一個抽像的單位,主要使用在瀏覽器上,用來精確度量Web頁面上的內容。一般情況之下,CSS像素稱爲與設備無關的像素(device-independent pixel),簡稱DIPs。CSS像素顧名思義就是我們寫CSS時所用的像素。
dip(Device Independent Pixels)
設備獨立像素(又稱設備無關像素 Device Independent Pixels),可以認爲是計算機座標系統中得一個點,這個點代表一個可以由程序使用的虛擬像素(比如: css像素),然後由相關係統轉換爲物理像素。
dpr(device pixel ratio)
設備像素比簡稱爲dpr,其定義了物理像素和設備獨立像素的對應關係。它的值可以按下面的公式計算得到:
設備像素比 (dpr)= 物理像素(dp) / 設備獨立像素(dip)
在Retina屏的iphone上,devicePixelRatio的值爲2,也就是說1個css像素相當於2個物理像素。通常所說的二倍屏(retina)的dpr是2, 三倍屏是3。
viewport中的scale和dpr是倒數關係。 獲取當前設備的dpr: JavaScript:
window.devicePixelRatio。 CSS: -webkit-device-pixel-ratio,
-webkit-min-device-pixel-ratio, -webkit-max-device-pixel-ratio。不同dpr的設備,可根據此做一些樣式適配(這裏只針對webkit內核的瀏覽器和webview)。
ppi(pixel per inch)
屏幕像素密度(ppi)是指一個設備表面上存在的像素數量,它通常以每英寸有多少像素來計算。屏幕像素密度與屏幕尺寸和屏幕分辨率有關,在單一變化條件下,屏幕尺寸越小、分辨率越高,像素密度越大,反之越小。
屏幕像素密度(ppi) = 對角線分辨率 / 對角線尺寸
dpi(Dots Per Inch)
DPI(Dots Per Inch,每英寸點數)是一個量度單位,用於點陣數碼影像,指每一英寸長度中,取樣、可顯示或輸出點的數目。
DPI是打印機、鼠標等設備分辨率的度量單位。
參考:
https://segmentfault.com/a/1190000008767416
https://www.cnblogs.com/jiangzilong/p/6700023.html
https://www.aliyun.com/jiaocheng/992769.html