Я использую свойство line-height для выравнивания текста с иконками в меню. Я создал упрощенную версию (без значков), чтобы проиллюстрировать мою проблему. Кажется, что проблема связана с общим выравниванием шрифтов по вертикали.
Вы можете увидеть эту проблему на jsfiddle: http://jsfiddle.net/KFxG3/1/
Код очень прост:
<div>qb - Some text - qb</div>
Добавление стиля:
div {
background-color: green;
height: 22px;
line-height: 22px;
font-size: 20px;
font-family: 'Segoe UI', 'Verdana', 'Arial';
}
Вот как это выглядит:
И вот как это ДОЛЖНО выглядеть:
Почему это происходит в новых браузерах? Я тестировал его на 64-разрядной версии Windows 8.1 в Firefox 27.0.
EDIT: Я хочу знать, ПОЧЕМУ браузеры не отображаются правильно. Маленькая буква типа "a" должна иметь одинаковое пространство сверху и снизу "зеленого", когда применяется высота линии, высота которой равна размеру контейнера. Но рендеринг ошибочен.
ИЗМЕНИТЬ № 2: проблема с шрифтом. У Segoe UI, похоже, странная базовая линия. При использовании Arial, Verdana или любого другого вертикального выравнивания лучше подходит (но это также не идеально). → http://jsfiddle.net/KFxG3/22/