编辑:
我们现在使用的是Chrome 19,但这个问题仍未解决。需要澄清的是:这个问题出现在Windows版本的Chrome中,而不是Linux或Mac。我认为这可能与ClearType有关。Google,请修复此问题。
我一直在使用CSS3的text-shadow
来模拟IE9在其他浏览器上的字体平滑效果。基本上,我只是将容器的文本的text-shadow
设置为容器的背景。您可以通过在低于Chrome 14.0.833的任何浏览器中为较大的字体元素设置text-shadow
来查看其行为。文本看起来很平滑。删除text-shadow
,字体看起来锯齿状。
然而,在Chrome 14.0.833(更新:似乎在14.0.834中也“损坏”了)中,这种方法不再有效。 text-shadow
属性仍然有效,但工作方式与以前不同。您可以在这里(只需使用不同版本的Chrome加载它)看到其行为。
在旧版Chrome中,似乎文本阴影从文本内部开始,然后扩散出去-这可能就是为什么text-shadow
hack起作用的原因。在新版Chrome中,似乎文本阴影从文本外部开始,这就是它无法正常工作的原因。请看这里。
我的问题基本上是:这是一个错误吗?哪个是预期行为(如果有的话)?还有其他字体平滑的解决方法可以使用吗?
W3C的spec似乎没有说明预期的行为,不过我看到也许应该使用text-outline(这有点不支持,这违背了初衷)