pt,em,px,百分比等的转换率是多少?

13
有时我需要使用pt而不是px,或者em而不是pt等等,尤其是在找到大于36px的大小时更加困难。因此,我想制作一个单位转换计算器。然而,我找不到任何区分彼此之间的转换率的东西。
我希望能在这里找到帮助。我的总体希望是制作一个基于jQuery的输入式计算器。我输入我的px、pt、%、其他并选择我的转换类型,然后点击确定。
创建计算器很容易。但我需要按照每种转换方式应用数学公式,这就是我希望在这里找到的。

1
这样的计算器不存在是有原因的:px是绝对值,就像pt、em、百分比等是相对值。等我找一下一个SO的问题... - Pekka
请参见例如https://dev59.com/83A75IYBdhLWcg3wW3y8。 - Pekka
1
另外,为什么要使用em而不是px? - Pekka
1
http://v1.jontangerine.com/silo/css/pixels-to-ems/ - Ram
1
我应该强调一下,我知道这不是一门精确的科学,因为正如Pekka所说,我不会得到完全准确的表示或转换,但总的来说,当我需要从一个转换到另一个时,我只是寻找足够接近的结果。 - chris
显示剩余2条评论
4个回答

24

好的,

12pt = 16px = 1em = 100%

假设你没有改变 body 标签的字体大小(否则 pt 将会不同),你的操作系统 dpi 设定为 72 等等。

它们之间的关系如下:

pt = 3/4*px

em = pt/12

% = pt*100/12
在这种情况下,值得指出的是,除非你在打印东西,否则使用pt是错误的,而使用px、%或em更为常见。就我个人而言,我只使用px或em。在设计中,当基础字体大小变化时,使用%或em很方便。

我通常自己也喜欢使用em,但在这种情况下最大的问题是我与几位设计师合作,他们每个人都有自己偏好的设置。当我从一个人那里得到规格说明时,比如说“我们需要这个尺寸为320pt x 600pt”,将其转换成em或px有时候会很麻烦。 - chris
对于网页设计来说,pt永远不是正确的选择。或许你可以和他们谈一谈,了解一下他们认为pt是什么意思。你可能会发现他们认为pt等同于px... - Rich Bradshaw
1
对于网页设计,我同意,但也许只有其中一两个人知道什么是网页设计,他们都是使用Photoshop、Illustrator或在某些情况下是平面设计师的平面设计师。因此,我更常将原本用于印刷的内容转换为适合于网页的内容。 - chris
在这篇文章发布6年后,我发现了一个错误吗?如果12pt=16px,那么1pt应该等于4/3px,而不是上文中所述的1pt = 3/4px。 - hjchin
关系式存在错误:12pt = 16px = 1em = 100%,而pt = 3/4 * px;em = pt / 12 => 1 px = 16 em ?? - trig-ger
显示剩余2条评论

3
Ems和%s是相对值,可以根据上下文而变化。通常,1em等于16px,但如果您更改正文的字体大小,则1em等于您更改的大小。1.25em也等于125%。
一般来说,72pt等于1英寸,但不应在打印CSS之外使用。 px也是绝对的,但高度依赖于客户端设备的DPI。这种差异很大,但大多数设备以可预测的方式处理px值 - 在视网膜iphone上的10px显示与在非视网膜设备上的10px相同。
还有“rem”,它是指您的“html”元素的字体大小。了解更多:http://snook.ca/archives/html_and_css/font-size-with-rem

1
  • 1毫米 = 约3.78像素
  • 1厘米 = 10毫米 = 约37.8像素
  • 1英寸 = 25.4毫米 = 96像素
  • 1磅 = 1/72英寸 = 1 1/3像素
  • 1派卡 = 12磅 = 1/6英寸 = 16像素
  • 1像素 = 3/4磅 = 1/96英寸

这些关系彼此固定,但需要注意的是它们并不对应屏幕布局中的物理尺寸。只有当屏幕的 DPI 正好为 96 时,1英寸才相当于屏幕上的实际英寸。由于存在各种屏幕和设备,因此这通常很少出现。

1像素也不总是对应一个物理像素。对于高 dpi 设备(例如“视网膜”显示器),浏览器可能会将像素单位转换为物理像素的倍数,例如 1像素=4x4 物理像素。

在打印方面,英寸、厘米、毫米等单位实际上对应于物理单位。但是,当用于打印样式表时,像素单位与屏幕像素(或 dpi)没有任何关系。它只被定义为 1/96 英寸。

相对单位(em、ex、%)无法转换为绝对单位(px、cm、mm、in、pc、pt),因为相对单位取决于当前字体大小。

-1
为了让网站真正面向所有人开放,您需要摆脱点和像素。您需要使用相对度量单位,如百分比和em。
这是最好的方法。
许多人(客户)有各种视力问题。
为什么要制作一个这些人不能轻松使用的网站呢?
(各种标准解决这些问题)

1
是的,没有人反对这一点,但正如先前提到的那样……我与之合作的设计师在给我初始规格说明时并未考虑这一点,因此我必须去寻找相应的解决方案,以使网站/软件更符合网络标准。我发现试图迎合群众的需求是一个荒谬的概念,所以我不与潮流抗争,只是接受现实并尽力将其变得正确。但最终目的是为了制作一些小工具来帮助自己完成任务 :-) - chris
@chris - 请抗争这个流 - 因为某天也许你会需要有人帮你抗争流。 - Ed Heal

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接