字体大小的设置单位,常用的有2种:px、pt。这两个有什么区别呢?

先搞清基本概念:px就是表示pixel,像素,是屏幕上显示数据的最基本的点;

pt就是point,是印刷行业常用单位,等于1/72英寸。

这样很明白,px是一个点,它不是自然界的长度单位,谁能说出一个“点”有多长多大么?可以画的很小,也可以很大。如果点很小,那画面就清晰,我们称它为“分辨率高”,反之,就是“分辨率低”。所以,“点”的大小是会“变”的,也称为“相对长度”。

pt全称为point,但中文不叫“点”,查金山词霸可以看到,确切的说法是一个专用的印刷单位“磅”,大小为1/72英寸。所以它是一个自然界标准的长度单位,也称为“绝对长度”。

因此就有这样的说法,pixel是相对大小,而point是绝对大小。

分清“屏幕效果”和“打印效果”:

在浏览网页过程中,所有的“大”“小”概念,都是基于“屏幕”这个“界面”上。“屏幕”上的各种信息,包括文字、图片、表格等等,都会随屏幕的分辨率变化而变化,一个100px宽度大小的图片,在800×600分辨率下,要占屏幕宽度的1/8,但在1024×768下,则只占约1/10。所以如果在定义字体大小时,使用px作为单位,那一旦用户改变显示器分辨率从800到1024,用户实际看到的文字就要变“小”(自然长度单位),甚至会看不清,影响浏览。

那是不是用pt做单位就没这样的问题呢?错!问题同样出现。刚才的例子已经很清楚的说明,在不同分辨率下,无论是px还是pt,都会改变大小。以现在的电脑屏幕情况,还没有一种单位可以保证,在不同分辨率下,一个文字大小可以“固定不变”。因为这很难以实现也不是很有必要:全球电脑用户以亿来数,屏幕从14寸到40寸甚至更高都有,屏幕大小不同,分辨率也不同,要保证一个字体在所有用户面前大小一样,实在是MISSION IMPOSSIBLE。另外,电脑有其自身的调节性。

那在页面设计中到底是用px还是pt呢?

我认为,这个并没有什么原则性差异,就看自己处于什么角度思考了。

Mac机怎么情况不清楚,在Windows里,默认的显示设置中,把文字定义为96DPI(PPI,微软都将DPI和PPI混为一体,我们也就无须较真了)。这样的定义,说明了:1px=1/96英寸。联系pt的概念,1pt=1/72英寸,可以得出,在这样的设置中,1px=0.75pt,常见的宋体9pt=12px。在显示器分辨率不变的基础上(比如现在常用的1024×768),1px大小也就固定不变,改变显示设置,调整为144DPI,可以得出,1px=0.5pt,常见的宋体9pt=18px。原先用12px来组成的一个文字,现在需要18px来组成,px多了,文字就“大”了,更易阅读了。

所以,px和pt的使用区别,只有当用户改变默认的96DPI下才会产生:使用px定义文字,无论用户怎么设置,都不会改变大小;使用pt定义文字,当用户设置超过96DPI的值,数值越大,字体就越大。

  (附公式:px = pt * DPI / 72) 对了,刚才还提到改变浏览器中文字大小的选项,也可以改变网页的文字大小。但在这种情况下,使用px和pt都是无效的,因为这2个都是有实际“pixel”数值的单位,比如9pt是12px,大小固定。这里要引用新的单位:em,其实就是%。因为当网页中的字体没有给出实际的px或pt定义的话,会有一个默认值:12pt即16px,对应浏览器中“字体大小”中的“中等”,以这个为标准,变大或缩小。(只适用于IE,在FF中,即便定义px或pt也都可以变大变小)

所以,从这个概念上看,em才是真正的“相对单位”(百分比嘛,当然是相对),而px和pt都是绝对单位(都有固定值)。

在网页设计中,面向用户的屏幕的基本单位是px,因此使用px作为单位是最简单也最容易理解的,而pt也不过是通过了Windows的设置乘上了一个比率转变成px再显示,算是绕了个圈子。参考大部分大型网站,包括Adobe和Microsoft,都是使用px作为单位,而且在HTML中,默认的单位就是px,是不是也暗示着px是网页设计的“内定单位”?

  但在Word或Photoshop中,使用pt就相当方便。因为使用Word和Photoshop的主要目的都不是为了屏幕浏览,而是输出打印。当打印到实体时,pt作为一个自然长度单位就方便实用了:比如Word中普通的文档都用“宋体 9pt”,标题用“黑体 16pt”等等,无论电脑怎么设置,打印出来永远就是这么大。又或者在Photoshop中,设置一个图片中的某个艺术效果的字体是72pt大小,然后分别将这张图片设为300DPI和72DPI,再打印出来,就可以看出,这2个字体大小完全一样,只是“清晰度”不同,300DPI更清晰。这是毫无疑问的结果。

  最后整理一下所有出现过的单位:

  px:pixel,像素,屏幕上显示的最小单位,用于网页设计,直观方便;

  pt:point,是一个标准的长度单位,1pt=1/72英寸,用于印刷业,非常简单易用;

  em:即%,在CSS中,1em=100%,是一个比率,结合CSS继承关系使用,具有灵活性。

  PPI(DPI):pixel(dot)per inch,每英寸的像素(点)数,是一个率,表示了“清晰度”,“精度”

PX和PT转换的公式:

以前在文章中介绍过PX和PT的转换规则,其实很简单,pt=px乘以3/4。

比如12px×3/4=9pt大小。

PX和em转换的公式:

对于PX转em的方法也类似,就是em=16乘以px,也就是说1.5em=1.5×16=24px。
————————————————
版权声明:本文为CSDN博主「正直的长颈鹿」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/zhangrongxi5/article/details/79864286

关于字体的px和pt相关推荐

  1. CSS字体大小: em与px、pt、百分比之间的对比

    2019独角兽企业重金招聘Python工程师标准>>> 原文:kyleschaeffer.com CSS样式最混乱的一个方面是应用程序中文本扩展的font-size属性.在CSS中, ...

  2. px/em/pt区别和转换

    老是被人问到px.pt和em的区别,自己有时候也会纠结到底该用什么单位,今天特意查了一些文章,下面这篇虽然很久远了,但解释的比较全面,转载收藏之.点击查看原文 这里引用的是Jorux的"95 ...

  3. [css] ui设计中px、pt、ppi、dpi、dp、sp之间的关系?

    [css] ui设计中px.pt.ppi.dpi.dp.sp之间的关系? QQ20150717160352 做了几个移动端的项目之后,深感移动端尺寸换算的必要性,在此做个总结. 先介绍下各自的定义: ...

  4. em表示什么长度单位_html 常见的长度单位”px em pt” 简介说

    摘要: 下文讲述常见的长度单位"px em pt"功能说明,如下所示: px.pt.em单位简介说明 px:像素,相对长度单位,像素(px)是相对于显示器屏幕分辨率而言的国内推荐: ...

  5. HTML px em pt长度单位(像素 相对长度 点)

    一.PX\EM\PT单位介绍 px单位名称为像素,相对长度单位,像素(px)是相对于显示器屏幕分辨率而言的国内推荐: em单位名称为相对长度单位.相对于当前对象内文本的字体尺寸,国外使用比较多:扩展阅 ...

  6. Android中dp、sp、px、pt之间的换算关系

    Android中dp.sp.px.pt之间的换算关系 换算公式 1 dp = (dpi/160) px; 1 in = 72 pt = dpi dp; 1 pt = dpi/72 dp: 当dpi为1 ...

  7. px、pt和em的区别

    老是被人问到px.pt和em的区别,自己有时候也会纠结到底该用什么单位,今天特意查了一些文章,下面这篇虽然很久远了,但解释的比较全面,转载收藏之.点击查看原文 这里引用的是Jorux的"95 ...

  8. 常用长度单位PX/EM/PT/百分比转换公式

    后两个可以稍微看下,一般情况下就用 px = (4*pt)/3 吧 http://www.weste.net/2009/2-3/1106261329.html PX.PT.EM.ex和in等都是我们常 ...

  9. android中像素单位dp、px、pt、sp转换

    android中像素单位有dp.px.pt.sp,每一种都代表不同的尺寸,先说一下每一种尺寸单位的含义. dp(dip): device independent pixels(设备独立像素). 不同设 ...

  10. px~em~pt转换表

    px~em~pt转换表 em的计算是相对的. 1.代码 <!DOCTYPE html> <html lang="en"> <head><m ...

最新文章

  1. python改变字符串类型_python – Sklearn将字符串类标签更改为int
  2. 前端学习(909):navigater对象
  3. [转]iOS开发使用半透明模糊效果方法整理
  4. vue文件上传 vue-simple-upload的使用方法
  5. Vuforia3D模型上传
  6. 三年级计算机第一学期期末试题,三年级上册信息技术期末考试试卷(清华版)
  7. iserdese2接口详解_Xilinx FPGA LVDS应用
  8. 信号完整性测试入门——SECOND
  9. ISBN号码(c++)
  10. Android Studio 微信登录
  11. 个人如何搭建云手机出租?ARM服务器搭建机房教程
  12. MFC VS2010 Open CASCADE新建自己的工程
  13. SQLyog去掉生成的(')引号
  14. 10.2国庆作业(PWM实验)
  15. 计算机类与财经结合,财经类专业计算机基础教学模式分析与探讨
  16. 贝壳上市背后的秘密武器-ACN
  17. 【NI Multisim 14.0原理图设计基础——调整元器件位置】
  18. bq24773功能分析(中文手册翻译)
  19. java 验证码_java实现简单的验证码功能
  20. golang:go+liteIDE在windows环境配置(详细配置+出现问题解决说明)

热门文章

  1. 怎么给计算机上锁键盘,想把笔记本电脑的键盘锁住,用外置键盘怎样做?
  2. excel合并工作簿
  3. word中文章页码出现{PAGE}{PAGE \* MERGEFORMAT}的解决办法
  4. [转载]MIS专业排名
  5. 龙珠直播php,斗鱼、全民TV、龙珠等直播平台排行榜 看视频直播发展趋势
  6. SDUT-3337 计算长方体、四棱锥的表面积和体积
  7. stm32 修改工作频率
  8. PRAM模型与Amdahl定律
  9. 快捷键: Windows下利用微信快速截图
  10. scanf指定分隔符号