我想我已经在Mobile(iOS 8)Safari中找到了Google字体的Web渲染错误。在我看来,Mobile Safari会在所有使用Google字体或使用其他字体的文本中添加一点点字母间距。我尝试使用哪种Google字体都没有关系(Open Sans)。它可以在所有现代浏览器上正确呈现。经过测试的Android,FF,Chrome,Safari。

尝试在iOS设备上加载此页面,以了解我的意思。另请参见代码和屏幕截图。请参阅以下链接以进行实时审查:https://dl.dropboxusercontent.com/u/430406/Temp%20%5Bok%20to%20delete%5D/Checking%20Font/index.html

<!DOCTYPE html>
<html>

<head>
  <title></title>
  <link href='http://fonts.googleapis.com/css?family=Roboto' rel='stylesheet' type='text/css'>
</head>

<body>
  <h2 style="font-family: 'Roboto'">Roboto: Looks like it gets a bit extra line-spacing in iOS Safari, though this is not possible to find in web inspector</h2>
  <h2 style="font-family: 'Arial'">Arial: Works fine in iOS Safari</h2>
</body>

</html>

最佳答案

我在以下问题中找到了解决方案:iOS 4.2+ webfont (ttf) 's bold font-weight rendering bug

如果您未设置font-weight(例如font-weight: 400font-weight: normal),则Mobile Safari会渲染假字体粗细,因此需要特别设置css字体粗细才能在移动浏览器中正确呈现。

这是解决方案。

h2 {
  font-weight: 400;
}

关于html - 为什么iOS Safari会增加多余的字母间距?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28833958/

10-17 01:10