针对iPhone的pt、Android的dp、HTML的css像素与dpr、设计尺寸和物理像素的浅分析

  最近被一朋友问到:css中设置一DOM的height:65px,请问显示的高度是否和Android的65dp的元素等高?脑子里瞬间闪现了一堆的概念,如dpr,ppi,dp,pt等,然而想了一阵,浆糊了,所以重新梳理了相关的知识,以备不时之需。

  1.ppi

  ppi指Pixels Per Inch也就是每英寸的像素点,此处的像素点就是物理像素点(也就是最小的显示单元)。 ppi描述的是像素的密度,满足以下公式

此图来源于uxabc(https://medium.com/uxabc/understanding-ui-units-8acdc0575388

2.iPhone的pt与Android的dp

  第一代iphone手机的像素密度是163ppi,但是到了iPhone4的时候像素密度是326ppi,开发者发现初代的1px和iphone4下的1px显示尺寸不相等了,无疑将增加适配的工作量,于是iphone开发者提出了一个pt的概念,即采用初代iphone1个像素点的大小作为基准,记作1pt(point),也就是说1pt在iphone4下的大小=2px的宽高。

  同样Android开发者也遇到了同样的问题,google提出的解决方案是dp(Density-Independent Pixels),基准是160ppi下的1px代表的尺寸;

  总之,pt和dp起着同样的作用,就是把它当做设计和显示的基本单位,避免使用px引发适配问题。

3.pt、dp与px之间的关系

  根据上面的描述,我们可以知道iphone4下1pt=2px,因为iphone4是326ppi,正好是基准的两倍;但是iphone6+是401ppi,那在iphone6+下1pt等于多少px呢?大多数开发者都知道是3px,可是为什么呢?我找到一个比较形象的示意图:

  按照图中所示,设计图都是按照pt来设计的, 设计图的标准是:x1,x2和x3,也就是设计图的像素为320x480,750x114,1242x2208,但是由于工艺原因,iphone6+的物理像素(分辨率)达不到1242x2208,所以只能做一次采样处理(并非缩放,因为显示尺寸并没有变化,还是5.5 inch),显示效果可能比真实的设计图差一点,但是本身分辨率已经很高了。

4.HTML中的css像素和dpr

  在HTML中不得不提到viewport,经常会设置viewport的width=device-width,那这个device-width的值是多少呢?

<meta name="viewport" content="width=device-width,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no"/>  

  我们会发现在iphone5下device-width=320,iphone6下是375,iphone6+下是414,那也就是说device-width其实就是NA开发中屏幕宽度有多少pt和dp

device-width在html中也同样被解读为理想(基准)视口的宽度,即320px,375px,414px,这里的px就是指css像素,通常也被称为逻辑像素;那我们可以认为html中的css像素的显示尺寸应该和NA中的pt、dp的显示尺寸相等。

  dpr,也被成为device pixel ratio,即物理像素与逻辑像素的比,那也就不难理解:iphone6下dpr=2,iphone6+下dpr=3(考虑的是栅格化时的像素,并非真实的物理像素);

  介绍完上面的概念,我们就可以问答一开始的问题了,css中设置一DOM的height:65px,显示的高度应该和Android的65dp的元素等高。

  这些都是基础概念,并没有对前端开发过程中如何自适应做介绍,打算下一篇文档介绍一下。

时间: 2024-08-19 11:35:13

针对iPhone的pt、Android的dp、HTML的css像素与dpr、设计尺寸和物理像素的浅分析的相关文章

android 长度单位 dp dip sp px pt

基本知识 QVGA 240*320像素 VGA 640*480像素 WVGA 800*480像素 HVGA 480*320像素 看到有很多人不太理解dp.sp和px的区别:现在这里介绍一下dp和sp. dp也就是dip.这个和sp基本类似. 如果设置表示长度.高度等属性时可以使用dp或sp.但如果设置字体,需要使用sp.dp是与密度无关,sp除了与密度无关外,还与scale无关.如果屏幕密度为160,这时dp和sp和px是一样的. 1dp=1sp=1px,但如果使用px作单位,如果屏幕大小不变(

android 解释dp,px,pt,sp单位

1.dp(dip):不同设备有不同的显示效果,这个和设备硬件有关系,一般我们为了支持WVGA,HVGA和QVGA对剑使用这个,它是不依赖像素的 2.px:pixels(像素),不同设备显示效果相同,一般我们HVGA代表320×480像素,这个用的比较多 3.pt:point,是一个标准的长度单位,1pt=1/72英寸,用于印刷业,非常简单易用 4.sp:scaled pixels(放大像素),主要用于字体显示best for textsize 在apk的资源包中,当屏幕density=240时使

转:移动平台前端开发总结(针对iphone,Android等手机)

原文连接: http://binghe19890918.blog.163.com/blog/static/117904124201311945714174/ 移动平台前端开发是指针对高端智能手机(如Iphone.Android)做站点适配也就是WebApp,并非是针对普通手机开发Wap 2.0,所以在阅读本篇文章以前,你需要对webkit内核的浏览器有一定的了解,需要对HTML5和CSS3有一定的了解. 1.首先我们来看看webkit内核中的一些私有的meta标签,这些meta标签在开发weba

Android中 dp 与 px 单位转换

px   :是屏幕的像素点 in    :英寸 mm :毫米 pt    :磅,1/72 英寸 dp   :一个基于density的抽象单位,如果一个160dpi的屏幕,1dp=1px dip  :等同于dp sp   :同dp相似,但还会根据用户的字体大小偏好来缩放. 建议使用sp作为文本的单位,其它用dip 针对dip和px 的关系,做以下概述: QVGA屏density=120:          QVGA(240*320) HVGA屏density=160:          HVGA(

[转]Android中dp,px,sp概念梳理以及如何做到屏幕适配

http://blog.csdn.net/jiangwei0910410003/article/details/40509571 今天又开始我的App开发,因为之前一直做的是SDK,所以涉及到界面UI很少,刚开始做Android应用的时候,没有对dp,px,sp等概念有一个深入的了解,只知道他们之间的转化,还有写个转换工具类等.做Android已经有一年多了,现在再次开始App开发,决定没遇到一个概念,必须得弄透彻.好吧,下面进入主题吧: 首先来看一下他们的基本概念: px   :是屏幕的像素点

Android中dp,px,sp概念梳理

今天又开始我的App开发,因为之前一直做的是SDK,所以涉及到界面UI很少,刚开始做Android应用的时候,没有对dp,px,sp等概念有一个深入的了解,只知道他们之间的转化,还有写个转换工具类等.做Android已经有一年多了,现在再次开始App开发,决定没遇到一个概念,必须得弄透彻.好吧,下面进入主题吧: 首先来看一下他们的基本概念: px   :是屏幕的像素点dp   :一个基于density的抽象单位,如果一个160dpi的屏幕,1dp=1pxdip  :等同于dpsp   :同dp相

针对iphone 6出现的关于devicePixelRatio引用对应的css样式

@media only screen and (min-device-width: 320px) { //针对iPhone 3 } @media only screen and (min-device-width: 320px)and (-webkit-min-device-pixel-ratio: 2) { //针对iPhone 4, 5c,5s, 所有iPhone6的放大模式,个别iPhone6的标准模式 } @media only screen and (min-device-width:

为什么iphone手机比android手机流畅

作为当下最流行.市场占用份额最大的两大手机操作系统IOS和android,目前两者加起来的市场占用率达到90%.我曾经一直用android手机,没有用过iphone,那时候正直iphone4和iphone 4s十分流行的时候,十分火,我当时都是跟我的朋友们说我就是不喜欢iphone,有什么了不起的,android还不是一样,当然这个是我的屌丝心理,主要原因还是因为买不起,我相信直到现在都还是有跟我当时一样的人.我也一直不解为什么大家这么热棒iphone,难道就是纯粹炫耀?后来有幸,公司给我配了一

关于px pt ppi dpi dp sp之间的尺寸换算

一.定义 单位 全称 解释 简述 px pixel 像素   pt point 点   ppi pixel per inch 每英寸像素数   dpi dot per inch 每英寸点数   dp density-independent pixels 设备无关像素   sp scale-independent pixels 缩放独立像素   二.换算 原文地址:https://www.cnblogs.com/trnanks/p/11620765.html