字体小于11px时开始变得模糊



我正在将Photoshop图像转换为HTML,我注意到当我将字体大小设置为11px时,它会变得模糊,但在Photoshop中它看起来仍然很好。

因此,在玩了一番之后,我发现如果我将字体类型选项设置为smooth而不是none,Photoshop也会使字体模糊。

那么,如何使用CSS使字体更清晰,从而反映Photoshop的字体渲染?我用Arial字体。这是我现在的CSS:

.user_status {
    color: #666666;
    font: Arial;
    font-size: 11px;
    display: block;
    margin-top: 10px;
}

谢谢大家给我的答案,这对我帮助很大,我希望我能选择一个以上的答案作为正确的答案。。。

大多数浏览器使用系统的字体渲染库,因此大多数字体在不同的操作系统上的渲染略有不同。但是,您可以尝试使用下面列出的2个css3属性:

-webkit字体平滑:[auto|initial|none|抗锯齿|亚像素抗锯齿]

此属性仅适用于网络工具包浏览器,如Safari和Chrome。看见http://maxvoltar.com/archive/-webkit-font-smoothing了解更多信息。

字体平滑:[auto|never|always|<绝对大小>|<长度>]

这是W3C的CSS字体模块规范的一部分。你可以在http://www.w3.org/TR/WD-font/#font-光滑的道具。我还不确定是否有任何浏览器支持此属性。YMMV。

不幸的是,你无能为力。浏览器没有Photoshop那样的高级抗锯齿设置,你可以将字体平滑模式设置为清晰、平滑或干脆(我很喜欢)。你必须使字体变大或变小,这主要取决于浏览器如何呈现文本。

不幸的是,您通常无法控制浏览器如何呈现字体。一个新的CSS3属性font-smooth可能会提供一些控制权,但不是你想要的那种。

一些替代方案可能是使用JavaScript和图像,手动或服务器端渲染,以达到您想要的效果。您也可以使用sIFR(Scripted1Inline Flash Replacement)来替换一个小的Flash电影剪辑,该剪辑允许您随心所欲地反别名字体,但Flash几乎无处不在,它不是一个非常高效或优雅的解决方案。

因此,如果你绝对需要这个功能,我建议你用Photoshop制作透明的PNG,并使用background-imagetext-indent: -9999px将文本替换为图像。

你可能想考虑的另一点是,你真的应该使用11px的字体吗?这很难看出,你可能更喜欢简单地选择更大的字体大小。

1我可能弄错了这个缩写词

在webkit中,您可以设置:

  -webkit-font-smoothing: none;

这将近似于你的Photoshop抗锯齿:没有。

请在此处查看演示:http://jsfiddle.net/jv5W8/

最新更新