Это тестовое изображение показывает, насколько сильно Safari позиционирует текст внутри поля по сравнению с Firefox (Safari 5.0.5 и Firefox 5.0.1 для Mac OS X 10.6.7). Обратите внимание, как буква «S» для sans-serif
прижата к верхней части поля в Firefox, а не в Safari. Разница, кажется, варьируется в зависимости от используемого шрифта, где некоторые даже отображаются последовательно.
Я читал людей, говорящих, что это это из-за проблем с округлением между font-size
и line-height
(и исправлено путем установки меньшей высоты, чем размера), но я думаю, что это опровергается моим примером, где sans-serif/helvetica в Firefox всегда выравнивает верхнюю часть поля.
Мне кажется, что Safari делает это более правильно, чем Firefox, т.е. текст, как правило, находится ближе к средней линии.
Есть ли хороший способ сделать их более последовательными? Моя цель — только браузеры, соответствующие стандартам.
- NB1: Это не имеет ничего общего с
vertical-align
. - NB2: я исследовал подобную проблему в прошлом, но не нашел полностью удовлетворительного решения. исход.
Мой тестовый код: http://jsbin.com/omaboc
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<style type="text/css">
body {
font-size: 50px;
line-height: 1em;
}
div {
background: #b5e260;
margin-bottom: 5px;
}
</style>
</head>
<body>
<div style="font-family: sans-serif">Some text @ this box</div>
<div style="font-family: serif">Some text @ this box</div>
<div style="font-family: arial">Some text @ this box</div>
<div style="font-family: helvetica">Some text @ this box</div>
<div style="font-family: courier">Some text @ this box</div>
<div style="font-family: georgia">Some text @ this box</div>
</body>
</html>