移動(dòng)端開(kāi)發(fā)--物理像素和邏輯像素

1、物理像素

設(shè)備像素,在同一個(gè)設(shè)備上,它的物理像素是固定的,這是廠商在出廠時(shí)就設(shè)置好了的,即一個(gè)設(shè)備的分辨率是固定的。

2、邏輯像素

CSS像素,viewport中的一個(gè)小方格,CSS樣式代碼中使用的是邏輯像素。如果在一個(gè)設(shè)備中,物理像素與邏輯像素相等,將不會(huì)產(chǎn)生任何問(wèn)題。但是,在iphone 4中,物理像素是640px960px,而邏輯像素?cái)?shù)為320480px。因此,需要使用大約4個(gè)物理像素來(lái)顯示一個(gè)CSS像素。

3、像素比

物理像素與邏輯像素之間的比例。當(dāng)像素比為1:1時(shí),使用1個(gè)物理像素顯示1個(gè)邏輯像素;當(dāng)像素比為2:1時(shí),使用4個(gè)物理像素顯示1個(gè)邏輯像素。

4、CSS中的1px并不等于設(shè)備的1px

在CSS中一般使用px作為單位,在Web瀏覽器中CSS的1個(gè)像素往往都是對(duì)應(yīng)著電腦屏幕的1個(gè)物理像素,這可能會(huì)造成一個(gè)錯(cuò)覺(jué),那就是CSS中的像素就是設(shè)備的物理像素。但實(shí)際情況卻并非如此,CSS中的像素只是一個(gè)抽象的單位,在不同的設(shè)備或不同的環(huán)境中,CSS中的1px所代表的設(shè)備物理像素是不同的。

在早先的移動(dòng)設(shè)備中,屏幕像素密度都比較低,如iphone3,它的分辨率為320480,在iphone3上,1個(gè)CSS像素確實(shí)是等于1個(gè)物理像素的。后來(lái)隨著技術(shù)的發(fā)展,移動(dòng)設(shè)備的像素越來(lái)越高,從iphone4開(kāi)始,推出了所謂的Retina屏,分辨率提高了一倍,變成640960,但屏幕尺寸卻沒(méi)變化,這就意味著同樣大小的屏幕上,像素卻多了一倍,這時(shí),1個(gè)CSS像素是等于4個(gè)物理像素的。

5、實(shí)現(xiàn)真正的1物理像素

當(dāng)viewport的屬性initial-scale為1時(shí),頁(yè)面大小正常,但initial-scale為0.5時(shí),頁(yè)面被縮小了1倍,像素比為2:1的設(shè)備本來(lái)1個(gè)CSS像素寬度占2個(gè)物理像素寬度,縮小后的1個(gè)CSS像素寬度就只占1個(gè)物理像素,即實(shí)現(xiàn)了真正的1物理像素。

eg:border-width:1px并不是最小邊框,瀏覽器可以顯示的最小粒度比1px還要小。為什么會(huì)出現(xiàn)比border-width:1px更細(xì)的邊框?

屏幕能夠顯示的最小粒度是1個(gè)物理像素,iPhone4的像素比為2,設(shè)置border-width:1px后,邊框占了4個(gè)物理像素,如果能讓邊框的寬度為1物理像素,那么它就比1個(gè)CSS像素要細(xì),這可以通過(guò)設(shè)置<meta name="viewport" content="width=device-width, initial-scale=0.5">。(轉(zhuǎn)載)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容