Вертикальное выравнивание японских символов в IE8

У меня возникла проблема с выравниванием японских символов в IE8 на веб-сайте, который я делаю.

У меня есть что-то вроде <span>Label</span><span>Some value</span>. Когда "Ярлык" и "Некоторое значение" находятся либо на японском, либо на английском, они выравниваются точно, но когда они смешиваются ( "Ярлык" всегда японский, но "Некоторое значение" может и не быть), выравнивание отключается. Пример на изображении ниже:

enter image description here

Сюрприз, удивление, все работает отлично в браузерах, то же изображение из Chrome, например:

Example in Chrome

Я не могу понять, как это исправить. Кто-нибудь сталкивался с этим раньше или знал обходное решение? Моя компания по-прежнему в основном использует IE7, поэтому некоторые трюки, которые будут работать над этим, будут наиболее полезными.

EDIT 1: я забыл добавить css, который я использую в данный момент. Для ярлыка у меня есть:

display: inline-block;
color: Gray;
vertical-align: text-top;

/*For IE7*/
zoom: 1;
*display: inline;

Для значений я использую нечто похожее:

display: inline-block;
margin: 0x 0px 0px 0px;
padding: 0px 0px 0px 0px;
vertical-align: text-top;

/*For IE7*/
zoom: 1;
*display: inline;

EDIT 2: Я уверен, что это связано с этой проблемой. У меня есть поля ввода в моей форме, которые идеально выравниваются, пока я не набираю некоторые японские символы. Никаких проблем для римских персонажей. См. Ниже:

enter image description here

Опять же, никаких проблем в других браузерах...

ИЗМЕНИТЬ 3:

Посмотрел на это снова сегодня (спустя год после того, как я задал этот вопрос...). В IE9 символы отображаются так же, как в Chrome и других браузерах, в основном римские и японские слова выстраиваются правильно. Я проверил его с помощью IETester и на той же странице, японские шрифты выровнены "выше" в IE8, чем IE9.

В IE8:

In IE8

В IE9:

In IE9

Я не мог проверить это в то время, потому что у меня не было IE9. Шрифты выглядят одинаково, поэтому это должна быть проблема с IE, и нет ничего, что можно было бы сделать по этому поводу, я думаю?

Ответ 1

Убедитесь, что вы также назначаете vertical-align для текстовых полей.

http://jsfiddle.net/HkrJH/

Что касается проблемы с пробелами, я не могу воспроизвести это. Какой шрифт вы используете? Можете ли вы опубликовать jsfiddle, который демонстрирует проблему?

Ответ 2

Internet explorer ужасен.

настроить ваш браузер и добавить таблицу стилей.

Пример в голове:

<!--[if IE 6]><link rel="stylesheet" href="http://mysite.com/path/to/ie6.css" type="text/css" media="screen, projection"><![endif]-->

<!--[if IE 7]><link rel="stylesheet" href="http://mysite.com/path/to/ie7.css" type="text/css" media="screen, projection"><![endif]-->

Ответ 3

Вы можете поместить следующий тег HTML в элемент HEAD вашей веб-страницы:

<meta http-equiv="X-UA-Compatible" content="IE=7" />

Ответ 4

Я считаю, что это может быть проблемой с шрифтами по умолчанию, используемыми для японского и английского языков. Английские символы содержат больше пробелов, чем японский, потому что английский язык должен содержать персонажей, таких как "c" (квадрат), "t" (более высокий) и "g" (глубже), в то время как все символы являются квадратными прямоугольниками на японском языке. Поэтому, если вы используете один и тот же размер пикселей символов, английские все еще могут отходить от японских, в зависимости от шрифта, используемого для любого языка (вероятно, не то же самое, или не выравнивания, даже если оно то же самое). Если вы используете vertical-align: middle;, вы должны получить лучший результат.