首先理解幾個概念:
(1)屏幕尺寸:屏幕對角線的長度,一般用英寸表示,1英寸=2.54cm。
(2)dp((或者叫dip):設備獨立像素,也就是設備屏幕上多少個點。
(3)dpi:印刷行業術語,像素密度,是每英寸上像素點數
(4)ppi:屏幕像素密度,即每英寸(1英寸=2.54厘米)聚集的像素點個數,這里的一英寸還是對角線長度,pixels per inch
(5)dpr:一個px用多少個像素點來顯示,iPhone引入了視網膜屏幕的概念,通常來說就是屏幕的點很小,一個像素可以用多個點來渲染,畫面更清晰。
設備像素比 = 設備像素 / 設備獨立像素。指CSS邏輯像素對於物理像素的倍數
(6)設備像素(又稱為物理像素):指設備能控制顯示的最小物理單位,意指顯示器上一個個的點。從屏幕在工廠生產出的那天起,它上面設備像素點就固定不變了,
和屏幕尺寸大小有關,單位 pt(點(傳統長度單位)為1/72英寸=0.35mm))
(7)設備獨立像素(也叫密度無關像素或邏輯像素):可以認為是計算機坐標系統中得一個點,這個點代表一個可以由程序使用的虛擬像素(比如: css像素),這個點是沒有固定大小的,
越小越清晰,然后由相關系統轉換為物理像素,設備無關像素(Android長度單位),等同於CSS邏輯像素
(8)分辨率:寬度上和高度上最多能顯示的物理像素點個數
(9)css像素(也叫虛擬像素):指的是 CSS 樣式代碼中使用的邏輯像素,在 CSS 規范中,長度單位可以分為兩類,絕對(absolute)單位以及相對(relative)單位。
px 是一個相對單位,相對的是設備像素(device pixel)

rem+flexible.js適配
rem: rem屬性指的是相對於根元素設置某個元素的字體大小。它同時也可以用作為設置高度等一系列可以用px來標注的單位。
flexible.js正是利用rem單位相對根元素<html>的font-size來做計算,
而我們需要做的就是根據不同的屏幕算出html的font-size,
而頁面內的大小單位都根據rem來寫,從而實現了自適應。
rem
就是相對於根元素<html>
的font-size
來做計算。而我們的方案中使用rem
單位,是能輕易的根據<html>
的font-size
計算出元素的盒模型大小。