Я занимаюсь предварительным тестированием IE8, и мне кажется, что старый метод использования margin: 0 auto;
работает не во всех случаях в IE8.
Следующий фрагмент HTML дает центрированную кнопку в FF3, Opera, Safari, Chrome, IE7 и IE8, но НЕ в стандарте IE8:
<div style="height: 500px; width: 500px; background-color: Yellow;">
<input type="submit" style="display: block; margin: 0 auto;" />
</div>
(В качестве обходного пути я могу добавить явную ширину кнопки).
Итак, вопрос: какие браузеры правильные? Или это один из тех случаев, когда поведение не определено?
(Я считаю, что все браузеры неверны - разве кнопка не должна быть 100% ширины, если это "display: block"?)
ОБНОВЛЕНИЕ: Я тупица. Поскольку input не является элементом уровня блока, мне следовало просто поместить его в div с помощью text-align: center. Сказав это, ради любопытства, я все же хотел бы знать, следует ли центрировать кнопку в приведенном выше примере.
ДЛЯ НАГРАДЫ: Я знаю, что делаю странные вещи в примере, и, как я указываю в обновлении, мне следовало просто выровнять его по центру. В качестве награды я хотел бы получить ссылки на отвечающие спецификации:
Если я устанавливаю "display: block", должна ли кнопка быть шириной 100%? Или это не определено?
Поскольку отображение является блочным, следует "margin: 0 auto;" кнопку по центру, или нет, или не определено?