Отсутствие DTD приводит к тому, что браузеры возвращаются в «режим причуд» - это заставляет их использовать причудливые реализации своих старых версий, которые могут сильно различаться.Использование (правильного) DTD приводит к «стандартному режиму», который обеспечивает максимальную согласованность между браузерами.
Проблема здесь не в DTD, а в CSS.
Используйте тот же методцентрирование вашего меню, которое вы используете для контейнера: установите ширину и установите для левого и правого полей значение 'auto':
<style>
#menu { margin:0 auto ; width:500px ; }
</style>
Это основано на стандартах и хорошо поддерживается.