2013-04-09 176 views
1

我在一个项目上工作,我想知道为什么Windows和Mac OS X上的网页字体大小(宽度)有差异。我发现Mac上的所有浏览器将具有相同的大小,但在Windows中,它不同于浏览器与花药。 我感到沮丧,并等待从你这里。 我现在的问题为什么他们之间的宽度有差异?Windows和Mac OS X之间的字体大小

回答

6

有很多可能的原因:

  1. 不同的字体。很少有Mac字体与Windows上的字体相同。 (目前尚不清楚您是否期望Windows结果与Mac结果相匹配,或者只是为了在Windows上保持一致。)

  2. 不同的默认大小。大多数浏览器都有字体和大小的默认值,并且它们可能并不相同。

  3. 不同的字体大小的解释。当你说你想要(例如)10点字体时,它的意思并不完全明确。有真实点(1/72.27英寸),但更常见的是计算机点(1/72英寸)。你想要角色细胞高度吗?有没有内部领先?或者你是指实际的字符高度还是仅仅是字体的上升?不同的浏览器可能会选择不同的解释大小。

  4. 不同的分辨率。浏览器可以处理不同的屏幕分辨率。 Windows有一个“逻辑英寸”的概念,它通常比显示屏上的真实英寸大。但是用户可以定制多大。某些浏览器可能会忽略逻辑英寸并使用设备的实际DPI(或至少他们认为DPI是 - 操作系统可能实际上不知道)。

  5. 不同的渲染技术。无论您使用提示,抗锯齿,子像素渲染(例如,ClearType)还是这些的组合,都可以稍微影响文本的宽度(即使每个人都对确切的字体和确切的垂直尺寸达成一致)。

  6. 不同的尺度。大多数浏览器都提供缩放功能,并且它们可能不会在不同的浏览器上默认相同的值。另请注意,当您更改比例时,文本宽度通常不会线性缩放(请参见#5)。

的这些问题中的任何一个会导致文字宽度的差异(可级联成不同的单词环绕的选择),使页面看起来从浏览器到浏览器和机器对机器不同。在很多情况下,您可能会遇到阻碍一致性的这些问题的组合。

解决方案是设计布局灵活。不要通过对事物进行硬编码(比如a的大小)来创建字体大小的隐式依赖关系,并期望文本始终适合。通常,选择与文本大小相关的大小,并为实际文本大小的变化做好准备。

+0

艾德里安已经列出了很多这样的原因。 – 2013-04-09 17:34:12

+0

http://www.rfwilmut.clara.net/about/fonts.html – Bodda 2013-04-10 06:14:43

+1

@Bodda:感谢您的链接,但请注意,其中一些信息过于简单并且过期。 – 2013-04-10 15:19:57

0

有一个区别,因为没有标准规定网页渲染的文本大小。所以浏览器供应商可以自由地呈现他们希望的任何大小的文本。

0

我遇到了这个问题,需要一致地呈现HTML广告。在这种情况下,即使是几个像素的元素都可以让设计看起来非常专业。

获得更精确的跨平台结果的一种方法是指定像素值而不是点或ems。无论设备分辨率如何,这些文本都将以相同尺寸进行渲染,并且在放大和缩小时仍能正确缩放。即使在Retina/HD显示器上,由于CSS像素不一定与设备像素相同。

此外,强制使用网络字体或非常常见的字体,并明确设置抗锯齿方法,将使您更接近像素完美结果。无论环境如何,我发现下面的代码几乎完全一致。

html, body { 
    font-family: Arial, sans-serif; 
    font-size: 13px; 
    -webkit-font-smoothing: antialiased; 
    font-smoothing: antialiased; 
    -moz-osx-font-smoothing: grayscale; 
}