【发布时间】:2011-10-24 04:23:43
【问题描述】:
我正在处理一个需要或多或少像素完美的 HTML 页面,我注意到在 Opera 10 中,字体呈现比在其他浏览器中更大,即使字体大小实际上是一样。
请在 Opera 10 和其他浏览器(如 Firefox 3.6)中查看此示例页面:
http://troy.onespot.com/static/stack_overflow/opera_font_size.html
或者,下面是说明问题的屏幕截图:
http://skitch.com/troywarr/d47m1/font-size
“50px”和“46px”文本后面的红色框(两者都具有相应的字体大小)的高度均为 50px。
在 Firefox 3.6 中,“50px”中“p”的下降部分与它后面的红色框的底部对齐。在 Opera 中,“50px”中“p”的下降部分挂在下面;它是“46px”,更接近于 Firefox 中的“50px”。这向我表明 Opera 正在渲染大约 10% 的字体。
这与其他正文的相同问题完全颠覆了我在 Opera 10 中的页面布局。如果您对可能导致此问题的原因有任何想法,或者至少如何预防/修复它,请告诉我.
谢谢!
更新:
我似乎没有安装正确的 Helvetica 副本 - 我将其从字体堆栈中删除,并且在我的测试页面上看到呈现的文本没有任何差异。
我更新了测试页面,只使用通用的“sans-serif”字体系列,所以希望我们现在看到的都是一样的。
有趣的是,使用通用的“serif”字体在 Opera 和 Firefox 中显示完全相同。
这个问题可能只是关于 Opera 如何显示通用“无衬线”字体的一个怪癖吗?
更新 2:
这可能很重要:我使用的是 Mac OS X Snow Leopard。我现在正在尝试使用其他字体,看看是否可以进一步隔离问题。
更新 3:
我使用 Arial 创建了另一个测试页面:
http://troy.onespot.com/static/stack_overflow/opera_font_size_reset_arial.html
现在 Opera 和 Firefox 几乎完全匹配!
在这个项目中,我可能会使用 Arial 代替 Helvetica。据我所知,我有一个完整的 OS X 版本的 Helvetica - 所以我无法承受不同用户在我的页面上看到字体的差异。我会坚持使用久经考验的真正 Arial。
不过,这意味着什么 - OS X 的默认无衬线字体在 Opera 中是否会出现奇怪的渲染?
【问题讨论】:
-
感谢您的回答,但重置样式表并没有解决问题。我实际上是使用 Eric Meyer 的“Reset Reloaded”样式表作为最初出现此问题的 HTML 页面的一部分。
-
请查看使用 Eric Meyer 的“Reset Reloaded”的示例页面,但字体大小仍然存在相同问题:troy.onespot.com/static/stack_overflow/…
-
我认为您在屏幕截图中交换了 Firefox 和 Opera?
-
@rlovtang:废话,我做到了!感谢您指出这一点 - 我已修复它。
-
我看到的结果与您在 OS X 10.6.4 上的 Opera 10.62 / Firefox 3.6.8 中的屏幕截图完全相同