关于px,分辨率,ppi的辨析
概述
在本篇文章的开始,我先为大家解释一下这三个名词的概念。
px全称为pixel——像素。pc及移动设备的屏幕就是通过往像素矩阵中填充颜色,从而在宏观上体现出图像。像素越小,图像越清晰。
分辨率又称解析度.解像度,其意义为该屏幕中能够显示的像素个数,往往用水平和垂直像素个数来衡量。
ppi全称为pixels per inch,意义是每英寸所拥有的像素个数。由px的定义可以得出,ppi越大,图像越清晰。
px所需要思考的问题
相同的px个数,如10px,在不同类型的显示屏幕上的物理长度相同吗?相同的px个数,在不同类型的显示屏幕中占的比例相同吗?
先回答上面的问题——大部分情况下不相同。
为什么呢?在这里要明确一点——px不是物理长度单位。其实由我概述中说的:
像素越小,图像越清晰
就可以看出像素大小是不确定的。
那么如何知道该显示屏下像素的大小呢——用该屏幕的ppi值计算出来。
公式为:像素物理长度 = 1/ppi,单位为英寸。
由此,我们可以知道了——当不同类型的屏幕的单个像素物理长度不同时,相同的px个数物理长度不同。
同时,众所周知的,分辨率有好多种,如1280×720,1920×1080等。例如1280×720,其意义就是该屏幕水平方向由1280个像素,垂直上有720个像素。
所以,由此可得——当不同类型的屏幕的水平及垂直方向上的像素个数不同时,相同的px个数,在该屏幕的水平,垂直方向上所占的比例是不同的。
进一步的思考及解决方案
通过以上的内容学习,大家应该就能理解为什么相同的px个数,在不同类型的屏幕下——尤其pc端到移动端——字体大小不同、屏幕边缘部分留白或过长失真了吧。
但是,光用px来构建网站是远远不够的。因为我们期望的是同一个网站,在不同的终端上有1.一致性,2.响应式——这两者其实是对立的,一致性是不同终端页面内容及布局都是相同的,响应式是根据终端类型改变来改变布局以使页面更友好——的特点,不希望有比例失真或屏幕内容过小过大的情况。
而解决这些问题,我们通常使用rem,em,自适应式建站,响应式建站。
篇幅所限,在下一章中再来讨论。
参考资料
- 市场常见屏幕尺寸以及分辨率:https://wenku.baidu.com/view/42bedab284254b35effd3416.html
- 为什么同样大小的像素在移动端和pc端看起来不一样:https://www.jianshu.com/p/4583755b4f69
关于px,分辨率,ppi的辨析的更多相关文章
- 区分DPI、分辨率(PPI)、图像的物理大小、像素宽度
分辨率都知道,越高越清晰. 一.描述分辨率的单位有: dpi(点每英寸).lpi(线每英寸)和ppi(像素每英寸).但只有lpi是描述光学分辨率的尺度的.虽然dpi和ppi也属于分辨率范畴内的单 ...
- dp、px、dpi、ppi
概念: dpi(Dots Per Inch):每英寸上的点数,最初用于衡量打印物上每英寸的点数密度,打印机在一英寸内打多少个点.DPI值越小越不精细. ppi(Pixels Per Inch):每英寸 ...
- px、pt、ppi、dpi、dp、sp之间的关系
http://www.woshipm.com/pmd/176328.html 各自的定义: px:pixel,像素,电子屏幕上组成一幅图画或照片的最基本单元 pt: point,点,印刷行业常用单位, ...
- px 与 dp, sp换算公式?
PPI = Pixels per inch,每英寸上的像素数,即 "像素密度" xhdpi: 2.0 hdpi: 1.5 mdpi: 1.0 (baseline) ldpi: 0. ...
- 在移动端如何选择字体大小和布局的单位,px或dp?
android开发中,文字大小的单位是sp,非文字的尺寸单位用dp,但是我们在设计稿用的单位是px.这些单位如何换算,是设计师.开发者需要了解的关键. 简单理解的话,px(像素)是我们UI设计师在PS ...
- 62.Android之各分辨率定义的图片规格
转载:http://www.nljb.net/default/Android%E4%B9%8B%E5%90%84%E5%88%86%E8%BE%A8%E7%8E%87%E5%AE%9A%E4%B9%8 ...
- px 与 dp, sp换算公式?(转)
PPI = Pixels per inch,每英寸上的像素数,即 "像素密度" xhdpi: 2.0 hdpi: 1.5 mdpi: 1.0 (baseline) ldpi: 0. ...
- 不同手机根据坐标计算控件、图片的像素,px 与 dp, sp换算公式?
参考该帖子:http://www.cnblogs.com/bluestorm/p/3640786.html PPI = Pixels per inch,每英寸上的像素数,即 "像素密度&qu ...
- 移动分辨率和rpx
从一张设计图的实现说起,为什么模拟器下ip6的分辨率是375而设计图一般给750? 看上面的这张图,首先屏幕尺寸就是实际的物理尺寸,重点是分辨率pt和分辨率px,要回答这个问题,就要明白pt与px.那 ...
随机推荐
- bzoj 1901 主席树+树状数组
修改+查询第k小值 单纯主席树修改会打乱所有,所以再套一个树状数组维护前缀和使得修改,查询都是log 对了,bzoj上不需要读入组数,蜜汁re.. #include<cstdio> #in ...
- 解决linux netcore https请求使用自签名证书忽略安全检查方法
当前系统环境:centos7 x64. dotnet 2.0. 不管是 ServicePointManager.ServerCertificateValidationCallback = (a, b, ...
- 通过jQuery和C#分别实现对.NET Core Web Api的访问以及文件上传
准备工作: 建立.NET Core Web Api项目 新建一个用于Api请求的UserInfo类 public class UserInfo { public string name { get; ...
- 读书笔记--Android Gradle权威指南(下)
前言 最近看了一本书<Android Gradle 权威指南>,收获挺多,就想着来记录一些读书笔记,方便后续查阅. 本篇内容是基于上一篇:读书笔记--Android Gradle权威指南( ...
- MIP技术进展月报第3期:MIP小姐姐听说,你想改改MIP官网?
一. 官网文档全部开源 MIP 是一项永久的开源的项目,提供持续优化的解决方案,当然官网也不能例外.从现在开始,任何人都可以在 MIP 官网贡献文档啦! GitHub 上,我们已经上传了 <官网 ...
- Python进阶:全面解读高级特性之切片!
导读:切片系列文章连续写了三篇,本文是对它们做的汇总.为什么要把序列文章合并呢?在此说明一下,本文绝不是简单地将它们做了合并,主要是修正了一些严重的错误(如自定义序列切片的部分),还对行文结构与章节衔 ...
- 轻量级原生 ajax 函数,支持 get/array post/array post/json
原生js封装 function ajaxRequest(type, url, data, callback, failCallBack, header, dataType) { var url_enc ...
- Asp.Net Core 轻松学-经常使用异步的你,可能需要看看这个文章
前言 事情的起因是由于一段简单的数据库连接代码引起,这段代码从语法上看,是没有任何问题:但是就是莫名其妙的报错了,这段代码极其简单,就是打开数据库连接,读取一条记录,然后立即更新到数据库中.但是,惨痛 ...
- 学JAVA的第十九天,抽象类注意事项
最近老师老是不讲新课,好繁!!! 还是来说抽象类吧. public abstract class A{ //因为下边有一个抽象方法,所以这就必须要是一个抽象类,要不然编译不能通过 public voi ...
- 历经15个小时,终于评出这8本最受欢迎的SQL书籍
文章发布于公号[数智物语] (ID:decision_engine),关注公号不错过每一篇干货. 来源 | 程序员书库(ID:OpenSourceTop) 原文链接 | https://www.lif ...