Почему IE9 / Firefox показывает другой размер шрифта по сравнению с другими браузерами? - PullRequest
12 голосов
/ 21 сентября 2011

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

Я попытался использовать несколько СБРОСОВ, и я указываю шрифт в px, но IE9 по-прежнему показывает разницу в размере шрифта.

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

Я раньше менял шрифт (Джорджия, Times New Roman, Вердана). Некоторые из них показаны больше, другие меньше в 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 ]

7 голосов
/ 21 сентября 2011

IE9 использует DirectWrite для визуализации текста, а другие браузеры этого не делают (за исключением Firefox 4+).

Это является причиной немного отличающегося размера текста между двумябраузеры.

Нет способа сделать текст одинакового размера.

Прочитайте это: http://www.basschouten.com/blog1.php/font-rendering-gdi-versus-directwrite

И это, особенно the "Раздел «Подсказки и расстояния»: https://web.archive.org/web/20120603023828/https://blog.mozilla.org/nattokirai/2011/08/11/directwrite-text-rendering-in-firefox-6/

0 голосов
/ 01 августа 2013

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

P{max-width:40%; font-size:86%; line-height:1.2em;}
0 голосов
/ 21 сентября 2011

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

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

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

РЕДАКТИРОВАТЬ

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

...