margin: 0 auto;
для горизонтального центрирования должно работать нормально для IE6 +, но только до тех пор, пока вы находитесь в режиме стандартов. Убедитесь, что вы включили тип документа в стандартном режиме в свой HTML-код, иначе вы попадете в режим Quirks, где ничего не работает должным образом.
Чтобы узнать, находится ли конкретная страница в режиме стандартов, введите javascript:alert(document.compatMode)
в адресную строку. CSS1Compat
это хорошо; BackCompat
это причуды.
Для вертикального центрирования без абсолютного позиционирования top: 50%
имеет смысл, только если родительский элемент имеет явную высоту. Так что, если вы собираетесь сдвинуть верхнюю часть на половину высоты браузера, вам нужно будет указать 100%
высоту для каждого предка элемента, например. по крайней мере:
html, body { height: 100%; }