Единственное, о чем я могу думать, это то, что IE9 использует представление совместимости (аналогично движку рендеринга IE7, если я не ошибаюсь) для отображения вашей страницы.Если вы отключите представление совместимости, вы увидите, что блоки располагаются горизонтально, как и ожидалось.
Только IE8 и новее имеют полную поддержку display: inline-block
.IE7 и старше применяют его к элементам, которые встроены по умолчанию (например, span
), а не к любым другим элементам (например, li
или div
).В результате ваши блочные элементы по-прежнему отображаются как блоки, а не как встроенные блоки.
ОБНОВЛЕНИЕ: Вау, это странно.У меня не было декларации DOCTYPE раньше.В тот момент, когда я добавляю <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
вверху страницы, IE9 работает отлично, так же, как Firefox и Chrome.Есть идеи, что происходило раньше?
Это просто: до того, как вы добавили объявление doctype, IE9 выполнял рендеринг в режиме quirks .В режиме причуд IE обрабатывает display: inline-block
так же, как и в более старых версиях, как я объяснил в предыдущем абзаце.Имея объявление doctype, IE9 будет отображаться в стандартном режиме, отображая ваши стили, как и ожидалось.