场景:
人物:前端实习生「阿树」与 切图工程师「玉凤」
事件:设计师出设计稿,前端实现页面
玉凤:树,设计稿发给你啦,差那么点像素,就叼死你┏(  ̄へ ̄)=☞
阿树:(>_<)毛问题噶啦~
阿树:哇靠,为啥你给的设计稿是640px宽 ,iPhone 5不是320px宽吗???
玉凤:A pixel is not a pixel is not a pixel, you know ?
阿树:(#‵′),I know Google。。。
为什么会出现以上的情况,难道他们当中一位出错了,摆了这样的乌龙?
事实上,他们都是对的,只是谈的不是同一个「像素」。


此像素非彼像素

设备像素(device pixel):
设备像素设是物理概念,指的是设备中使用的物理像素。
比如iPhone 5的分辨率640 x 1136px。

CSS像素(css pixel):
CSS像素是Web编程的概念,指的是CSS样式代码中使用的逻辑像素。
在CSS规范中,长度单位可以分为两类,绝对(absolute)单位以及相对(relative)单位。px是一个相对单位,相对的是设备像素(device pixel)。

比如iPhone 5使用的是Retina视网膜屏幕,使用2px x 2px的 device pixel 代表 1px x 1px 的 css pixel,所以设备像素数为640 x 1136px,而CSS逻辑像素数为320 x 568px。

设备像素与CSS像素之间的换算是如何产生的呢?
这就需要要谈到每英寸像素(pixel per inch)和设备像素比(device pixel ratio)。
每英寸像素(pixel per inch):
ppi,表示每英寸所拥有的像素(pixel)数目,数值越高,代表显示屏能够以越高的密度显示图像。ppi的计算方式可以参考维基百科每英寸像素
设备像素比(device pixel ratio):
以上计算出ppi是为了得到密度分界,获得默认缩放比例,即设备像素比。

由上图可知,ppi在120-160之间的手机被归为低密度手机,160-240被归为中密度,240-320被归为高密度,320以上被归为超高密度(Apple给了它一个高大上的名字——Retina)。

获得设备像素比后,便可得知设备像素与CSS像素之间的比例。当这个比率为1:1时,使用1个设备像素显示1个CSS像素。当这个比率为2:1时,使用4个设备像素显示1个CSS像素,当这个比率为3:1时,使用9(3*3)个设备像素显示1个CSS像素。

想要了解主流移动设备的设备像素比(device pixel ratio)可以参考以下两个网站:
http://screensiz.es/
http://www.devicepixelratio.com/
最后关于设计师和前端工程师之间如何协同:
一般由设计师按照设备像素(device pixel)为单位制作设计稿。
前端工程师,参照相关的设备像素比(device pixel ratio),进行换算以及编码。

H5前端的关于像素解释相关推荐

  1. H5前端学习之一HTML和CSS基础认识

    前言 我是一个转行的前端小白,大专非计算机专业毕业,所以对计算机很不擅长,但是对信息技术的好奇,让我对技术党尤为崇拜,既然好奇代码和崇拜技术,不如成为它!所以我来学习了当前教主流的--前端.初学前端, ...

  2. 五款轻量级的web前端框架和H5前端框架

    目前主流的web前端框架有:Bootstrap.妹子UI.MUI移动前端框架等之外,国内的一些前端大神和前端大神团队琢磨出了以下几个不错的web前端框架. 第一款前端框架:FrozenUI – 专注于 ...

  3. 移动H5前端性能优化指南[转]

    移动H5前端性能优化指南 米随随2015.01.23 移动H5前端性能优化指南 概述 1. PC优化手段在Mobile侧同样适用 2. 在Mobile侧我们提出三秒种渲染完成首屏指标 3. 基于第二点 ...

  4. H5前端性能测试快速入门

    说到H5测试,对于做WEB测试的同学来说再熟悉不过了,它包括页H5功能测试,前端性能测试,浏览器兼容性能测试,以及服务端性能测试.那本文谈到的则是H5前端性能测试,并希望通过阅读本文后,能够知道:H5 ...

  5. 移动端,h5页面1px 1像素边框过粗解决方案

    移动端,h5页面1px 1像素边框过粗解决方案 参考文章: (1)移动端,h5页面1px 1像素边框过粗解决方案 (2)https://www.cnblogs.com/uimeigui/p/12150 ...

  6. 10大H5前端框架(转)

    10大H5前端框架 作为一名做为在前端死缠烂打6年并且懒到不行的攻城士,这几年我还是阅过很多同门从知名到很知名的各种前端框架,本来想拿15-20个框架来分享一下,但在跟几个前辈讨教写文章的技巧时果断被 ...

  7. H5前端性能测试点及优化方法

    1.背景 随着H5的普及和运用,它深深影响着我们各个业务的发展和用户体验,影响H5性能因素有多种:网络带宽.DNS解析时间.服务器处理能力.服务器和客户端的软硬件配置.网页内容.数据库操作.引用其他网 ...

  8. java 菲律宾招聘_[菲律宾 -没有语言要求,汉语流利就行] 招聘: H5 前端开发工程师/ Java 开发工程师/ Python 工程师 ,提供住宿...

    H5 前端开发工程师 职位描述: 1. 参与前端架构体系的规划.设计.建设: 2. 参与前端项目架构体系的搭建: 3. 参与网站性能优化.产品体验优化.以及产品功能迭代: 4. 参与 HTML5 等前 ...

  9. 尚硅谷h5前端开发视频

    尚硅谷h5前端开发视频 尚硅谷h5前端开发视频 尚硅谷h5前端开发视频 下载地址:百度网盘

  10. 前端游戏开发和h5前端开发_人们不告诉您有关前端开发的10件事

    前端游戏开发和h5前端开发 介绍 (Intro) Front-end development involves the building of webpages and user interfaces ...

最新文章

  1. Premiere制作VCD视频几个关键设置
  2. java中的for-each循环
  3. Spring boot配置嵌入式Servlet容器
  4. 烟台大学计算机专业最低分,烟台大学计算机科学与技术专业2016年在河南理科高考录取最低分数线...
  5. 【深度学习】网络架构设计:CNN based和Transformer based
  6. 关于input file img实时预览获取文件路径的问题
  7. bzoj1791,P4381-[IOI2008]Island【基环树,树形dp,单调队列dp,树的直径】
  8. sklearn.fit_两个小时后仍在运行吗? 如何控制您的sklearn.fit。
  9. python linux log,linux,python 常用的处理log的命令
  10. Exchange2003-2010迁移系列之十三,Exchange邮箱迁移
  11. 工作任务(2012-01-03)
  12. 郁闷,IT厂商认证考试没有通过!
  13. python _winreg 操作注册表
  14. .Net Core Linux centos7行—.net core json 配置文件
  15. linux系统下编译cpp文件,使其成为可执行文件
  16. 如何破解终端算力困局?PRCV这篇论文让机器人“算有余力”
  17. python虚线画田字格_[Matplotlib官方示例教程]第19课.自定义虚线样式
  18. 基于STM32+ESP8266+华为云IoT设计的健康管理系统并完成应用侧开发
  19. android 打开微信主界面
  20. 底层网络知识详解:如何连接外网

热门文章

  1. 我是社保局工作的,给大家介绍一下准确的“一老一小”保险知识[转载]
  2. java-se-包装类
  3. 澳洲穷人的生活什么样?
  4. 工作半年就迷茫,给你一盏明灯
  5. freyja最重要的一个功能完成
  6. C语言编写一个计算字符串长度的函数 my_strlen();
  7. 利用python脚本监控Tomcat服务器
  8. 8项引导技能在Scrum中的应用
  9. 个别照片查看器无法显示此图片因为计算机上,在Windows7中打开照片,提示“Windows 照片查看器无法显示此图片,因为计算机上的可用内存可能不足。....”...
  10. ps_图片大小精准裁剪