在Html中使用较新的DOCTYPE标记时,如何避免IE9中的字体更改

时间:2012-10-11 14:05:32

标签: html fonts internet-explorer-9 rendering doctype

我们正在使用没有或旧DOCTYPE的网页,如下所示:

<html>
<head>
    <title> TEST </title>
</head>

<body background="../images/dummy.gif" bgcolor="#FFFFFF" text="#000000" alink="#001080" link="#001080" vlink="#801080"
    marginwidth="0" marginheight="0" topmargin="0" leftmargin="0" >

  <div id="mainbody">

    <table width="980" border=0 cellpadding=0 cellspacing=0>
        <tr>
            <td height="20" align=left>
                <font face="Arial" size=-1 color="#101010">
                &nbsp;&nbsp;&nbsp;
                The quick brown fox jumped over the lazy dog
             </td>
            <td>
         </tr>
    </table>
  </div>
</body>
</html>

在IE9上,文本是一种清晰的Arial字体,几乎就像系统显示字体一样。

如果我将doctype更改为

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

字体渲染会明显改变,但显然,字体变得更加重量/更大胆,更不清晰(如果你试试这个,保存两个版本的演示html,一个用旧的,一个用新的doctype)。无论缩放系数如何,都会发生这种情况。

关于字体标记或css样式,我需要做些什么来获得与以前相同的渲染?

1 个答案:

答案 0 :(得分:1)

在“标准模式”(使用符合标准的doctype触发)中,IE 9应用more advanced font rendering technologies而不是Quirks Mode。除了保持Quirks Mode之外,没有办法避免这种情况。现代渲染在现代显示设备上通常效果更好,但它会对文本宽度产生一些影响,因此它可能会破坏像素完美性的尝试。