前端工程師需要明白的「像素」

場景:

人物:前端實(shí)習(xí)生「阿樹」與 切圖工程師「玉鳳」
事件:設(shè)計(jì)師出設(shè)計(jì)稿,前端實(shí)現(xiàn)頁面

玉鳳:樹,設(shè)計(jì)稿發(fā)給你啦,差那么點(diǎn)像素褪迟,就叼死你┏(  ̄へ ̄)=?
阿樹:(>_<)毛問題噶啦~
阿樹:哇靠,為啥你給的設(shè)計(jì)稿是640px寬 毅往,iPhone 5不是320px寬嗎牵咙??攀唯?
玉鳳:A pixel is not a pixel is not a pixel, you know ?
阿樹:(#‵′)洁桌,I know Google。侯嘀。另凌。

為什么會(huì)出現(xiàn)以上的情況谱轨,難道他們當(dāng)中一位出錯(cuò)了,擺了這樣的烏龍吠谢?
事實(shí)上土童,他們都是對的,只是談的不是同一個(gè)「像素」工坊。


此像素非彼像素

設(shè)備像素(device pixel):
設(shè)備像素設(shè)是物理概念献汗,指的是設(shè)備中使用的物理像素。
比如iPhone 5的分辨率640 x 1136px王污。

CSS像素(css pixel):
CSS像素是Web編程的概念罢吃,指的是CSS樣式代碼中使用的邏輯像素。
在CSS規(guī)范中昭齐,長度單位可以分為兩類尿招,絕對(absolute)單位以及相對(relative)單位。px是一個(gè)相對單位阱驾,相對的是設(shè)備像素(device pixel)就谜。

比如iPhone 5使用的是Retina視網(wǎng)膜屏幕,使用2px x 2px的 device pixel 代表 1px x 1px 的 css pixel里覆,所以設(shè)備像素?cái)?shù)為640 x 1136px丧荐,而CSS邏輯像素?cái)?shù)為320 x 568px。


retina-pixel.png

設(shè)備像素與CSS像素之間的換算是如何產(chǎn)生的呢喧枷?
這就需要要談到每英寸像素(pixel per inch)設(shè)備像素比(device pixel ratio)篮奄。

每英寸像素(pixel per inch):
ppi,表示每英寸所擁有的像素(pixel)數(shù)目割去,數(shù)值越高,代表顯示屏能夠以越高的密度顯示圖像昼丑。ppi的計(jì)算方式可以參考維基百科每英寸像素

設(shè)備像素比(device pixel ratio):
以上計(jì)算出ppi是為了得到密度分界呻逆,獲得默認(rèn)縮放比例,即設(shè)備像素比菩帝。

device-pixel-ratio.jpg

由上圖可知咖城,ppi在120-160之間的手機(jī)被歸為低密度手機(jī),160-240被歸為中密度呼奢,240-320被歸為高密度宜雀,320以上被歸為超高密度(Apple給了它一個(gè)高大上的名字——Retina)。

獲得設(shè)備像素比后握础,便可得知設(shè)備像素與CSS像素之間的比例辐董。當(dāng)這個(gè)比率為1:1時(shí),使用1個(gè)設(shè)備像素顯示1個(gè)CSS像素禀综。當(dāng)這個(gè)比率為2:1時(shí)简烘,使用4個(gè)設(shè)備像素顯示1個(gè)CSS像素苔严,當(dāng)這個(gè)比率為3:1時(shí),使用9(3*3)個(gè)設(shè)備像素顯示1個(gè)CSS像素孤澎。

想要了解主流移動(dòng)設(shè)備的設(shè)備像素比(device pixel ratio)可以參考以下兩個(gè)網(wǎng)站:
http://screensiz.es/
http://www.devicepixelratio.com/

最后關(guān)于設(shè)計(jì)師和前端工程師之間如何協(xié)同
一般由設(shè)計(jì)師按照設(shè)備像素(device pixel)為單位制作設(shè)計(jì)稿届氢。
前端工程師,參照相關(guān)的設(shè)備像素比(device pixel ratio)覆旭,進(jìn)行換算以及編碼退子。

參考:
「1」:A pixel is not a pixel is not a pixel
「2」:像素密度的危機(jī)
「3」:移動(dòng)端webapp開發(fā)必備知識

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市型将,隨后出現(xiàn)的幾起案子寂祥,更是在濱河造成了極大的恐慌,老刑警劉巖茶敏,帶你破解...
    沈念sama閱讀 211,265評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件壤靶,死亡現(xiàn)場離奇詭異,居然都是意外死亡惊搏,警方通過查閱死者的電腦和手機(jī)贮乳,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,078評論 2 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來恬惯,“玉大人向拆,你說我怎么就攤上這事±叶” “怎么了浓恳?”我有些...
    開封第一講書人閱讀 156,852評論 0 347
  • 文/不壞的土叔 我叫張陵,是天一觀的道長碗暗。 經(jīng)常有香客問我颈将,道長,這世上最難降的妖魔是什么言疗? 我笑而不...
    開封第一講書人閱讀 56,408評論 1 283
  • 正文 為了忘掉前任晴圾,我火速辦了婚禮,結(jié)果婚禮上噪奄,老公的妹妹穿的比我還像新娘死姚。我一直安慰自己,他們只是感情好勤篮,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,445評論 5 384
  • 文/花漫 我一把揭開白布都毒。 她就那樣靜靜地躺著,像睡著了一般碰缔。 火紅的嫁衣襯著肌膚如雪账劲。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,772評論 1 290
  • 那天,我揣著相機(jī)與錄音涤垫,去河邊找鬼姑尺。 笑死,一個(gè)胖子當(dāng)著我的面吹牛蝠猬,可吹牛的內(nèi)容都是我干的切蟋。 我是一名探鬼主播,決...
    沈念sama閱讀 38,921評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼榆芦,長吁一口氣:“原來是場噩夢啊……” “哼柄粹!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起匆绣,我...
    開封第一講書人閱讀 37,688評論 0 266
  • 序言:老撾萬榮一對情侶失蹤驻右,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后崎淳,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體堪夭,經(jīng)...
    沈念sama閱讀 44,130評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,467評論 2 325
  • 正文 我和宋清朗相戀三年拣凹,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了森爽。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,617評論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡嚣镜,死狀恐怖爬迟,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情菊匿,我是刑警寧澤付呕,帶...
    沈念sama閱讀 34,276評論 4 329
  • 正文 年R本政府宣布,位于F島的核電站跌捆,受9級特大地震影響徽职,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜佩厚,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,882評論 3 312
  • 文/蒙蒙 一活箕、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧可款,春花似錦、人聲如沸克蚂。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,740評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽埃叭。三九已至摸恍,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背立镶。 一陣腳步聲響...
    開封第一講書人閱讀 31,967評論 1 265
  • 我被黑心中介騙來泰國打工壁袄, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人媚媒。 一個(gè)月前我還...
    沈念sama閱讀 46,315評論 2 360
  • 正文 我出身青樓嗜逻,卻偏偏與公主長得像,于是被迫代替她去往敵國和親缭召。 傳聞我的和親對象是個(gè)殘疾皇子栈顷,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,486評論 2 348

推薦閱讀更多精彩內(nèi)容