Подтвердить что ты не робот

Почему IE9/Firefox показывает другой размер шрифта по отношению к другим браузерам?

Я программирую CSS сайта и понял, что Internet Explorer 9 показывает другой размер шрифта по отношению к другим браузерам (Firefox, Chrome, Safari, IE7 и IE8).

Я попытался использовать некоторые RESETS, и я задаю шрифт в px, но IE9 все еще показывает разницу в размере шрифта.

Я пробовал использовать font-size в pt, in, процент, но не имел успеха.

Я изменил шрифт раньше (Грузия, 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;
}
4b9b3361

Ответ 1

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. -в-светлячок-6/

Ответ 2

Попробуйте установить body{font-size:medium; line-height:1em;}  где размер шрифта будет теперь 16px и использовать процент на теге p, чтобы увеличить или уменьшить значение font-size. Чтобы ограничить ширину тега p.

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

Ответ 3

Две возможные вещи, обе непроверенные:

  • попробуйте изменить doctype на нечто, отличное от xhtml переходного. Посмотрите, улучшает ли этот документ HTML5. <!DOCTYPE html>

  • попробуйте использовать только font-family: monospace;, чтобы увидеть, является ли это проблемой шрифта.

ИЗМЕНИТЬ

Если они не работают и, вы не можете найти решение, вы можете использовать IE9 другой font-size, используя условные комментарии.