如何在Linux上让您的网站看起来与其他平台一致

4

我有一个符合标准的XHTML+CSS网站,在PC和Mac上的所有浏览器上看起来都很好。前几天我在Linux上的FF3上看到它时,字母间距略大,导致一切不协调,并引起文本的不必要换行和剪切。有问题的CSS如下:

font-size: 11px;
font-family: Arial, Helvetica, sans-serif;

我知道它会使用通用的无衬线字体,不管它映射到什么。如果我添加以下内容,文本会紧凑到接近其他平台的效果:

letter-spacing: -1.5px;

但这需要进行一些令人讨厌的服务器端操作系统嗅探。如果有纯CSS解决方案,我很乐意听取建议。
涉及的系统是Ubuntu 7.04,但这并不重要,因为我希望至少为大多数Linux用户修复它。当然,要求用户安装字体不可行!
5个回答

5

《A List Apart》有一篇关于在CSS中设置字体大小的全面文章。他们的结论是使用“ems”来设置文本大小,因为它通常可以在不同浏览器之间保持最一致的大小。虽然他们没有直接提到不同的操作系统,但你应该尝试使用ems。它可能会解决你的问题。


我愿意在这种情况下牺牲用户调整阅读环境的能力。也许我应该编辑问题中的“相当符合标准”的部分;-) - Michael Hinds

1
你在Windows上尝试过在FF3中运行它吗?
个人认为,一个好的CSS重置可以让你的页面在所有浏览器中看起来一样。

0
我发现解决浏览器之间字体大小问题最简单的方法是留出一些误差空间。将div稍微放大或字体稍微缩小,这样平台变化就不会显著改变换行或裁剪。

0

大小/间距差异通常很难发现。您可以创建一个针对Linux进行调整的特定于Linux的CSS文件,然后进行基于JS的简单检测,以在用户代理为Linux时注入该CSS。

这可能不是最干净的方法,但它将起作用,并且对您的HTML/CSS没有太多干扰。


0

除非您的网站预计会有超过正常量的基于Linux的流量,否则如果您“牺牲用户调整其阅读环境的能力”,那么您可能会对更多人造成不利影响,而不是只是不关心Linux体验。

话虽如此,如果您确实想要一个良好的Linux体验,您应该解决设计在字体间距微小变化下破裂的原因,因为这些问题在当前的CSS实现下很难控制。


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