Fraiket, причина только одна, ты что-то делаешь неправильно. Вариант выше не может не работать. Первый блок тянется на всю ширину, позиционируя содержимое внутри себя по центру. Второй блок (это содержимое первого) имеет заданную тобой ширину и становится по центу, позиционируя содержимое внутри себя по левому краю.