Я вижу, что все в основном публикуют одно и то же, но все они составляют правила, согласно которым оно должно быть внутри ограничивающего деления (fyi, <body>
прекрасно работает как «контейнер», у нет должно быть делением) или должно иметь заданную ширину. Очевидно, что если вы не установите ширину, то поле не будет иметь никакого эффекта, поскольку оно будет расширяться до полной ширины (то есть без области поля).
Если вы не публикуете фактический HTML и CSS, который вы используете, мы действительно не сможем вам помочь, потому что мы понятия не имеем, что происходит. По стандартам margin: 0 auto
должно работать, точка. Как указано выше, даже если вы не укажете ширину, «auto» все равно будет применено и будет просто вычислено как 0, поскольку деление распространяется на всю ширину и, таким образом, поле для заполнения отсутствует.
Единственное, что приходит на ум, - это то, что вы удаляете стиль на уровне блоков. Возможно, вы определяете это как display: inline
? Встроенные элементы не могут иметь полей и будут обращать внимание на свойство text-align родительского элемента. Кроме того, если вы перемещаете деление каким-либо образом, вы, очевидно, не можете сказать, что его центрируют, потому что смысл плавания состоит в том, чтобы подтолкнуть его влево или вправо (не в центр). Мы могли бы продолжать строить предположения, но на самом деле вы должны улучшить свой вопрос. Еще одно примечание для добавления: вы не можете использовать margin: 0 auto
с элементами фиксированной позиции .