为什么IE9 / Firefox显示与其他浏览器不同的字体大小?

时间:2011-09-21 12:33:46

标签: css internet-explorer-9 font-size

我正在编写网站的CSS,并意识到Internet Explorer 9显示的字体大小与其他浏览器(Firefox,Chrome,Safari,IE7和IE8)不同。

我尝试过使用一些RESETS,我在px中指定了字体,但IE9仍然显示了字体大小的差异。

我已尝试在font-sizept中使用in百分比,但没有成功。

之前我改变了字体(Georgia,Times New Roman,Verdana)。其中一些显示较大,另一些在IE9中较小。

我在IE中检查了缩放设置和文字大小。它们分别是100%和中等。

为了说明,我创建了一个简单的HTML和CSS,您可以看到下面的代码。如何解决这个问题呢?谢谢!

问题:

enter image description here

代码:

HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <link rel="stylesheet" type="text/css" href="style.css" />
    <title>Untitled Document</title>
</head>
<body>
    <p>
    AAAAA BBBBB CCCCC DDDDD EEEEE FFFFF GGGGG HHHHH IIIII JJJJJ KKKKK LLLLL MMMMM NNNNNN OOOOO PPPPP QQQQQ
    </p>
</body>
</html>

CSS

/* RESET */

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
    display: block;
}
body {
    line-height: 1;
}
ol, ul {
    list-style: none;
}
blockquote, q {
    quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
    content: '';
    content: none;
}
table {
    border-collapse: collapse;
    border-spacing: 0;
}

/* END OF RESET */

body {
    background-image:url(GreenLine.png);
    background-repeat:no-repeat;
    font-family:"Courier New", Courier, monospace;
    font-size:12px;
}

3 个答案:

答案 0 :(得分:7)

IE9使用DirectWrite呈现文本,而其他浏览器则不使用(Firefox 4 +除外)。

这就是两个浏览器之间文本大小略有不同的原因。

无法使文字大小相同。

阅读本文:http://www.basschouten.com/blog1.php/font-rendering-gdi-versus-directwrite

而且,特别“提示和间距差异”部分:https://web.archive.org/web/20120603023828/https://blog.mozilla.org/nattokirai/2011/08/11/directwrite-text-rendering-in-firefox-6/

答案 1 :(得分:-1)

尝试设置body{font-size:medium; line-height:1em;}  其中font-size现在为16px,并使用p标记上的百分比来增加或减少font-size。 确保限制p标记的宽度。

P{max-width:40%; font-size:86%; line-height:1.2em;}

答案 2 :(得分:-2)

两种可能的事情,都是未经测试的:

  1. 尝试将doctype更改为xhtml transitional以外的其他内容。查看HTML5 doctype是否更好地呈现它。 <!DOCTYPE html>

  2. 请尝试仅使用font-family: monospace;查看是否为字体问题。

  3. 修改

    如果这些不起作用您无法找到解决方案,您可能希望使用条件注释为IE9提供不同的font-size