7 ответов:
добавить
display:block;и это сработает. Изображения встроены по умолчаниючтобы уточнить, ширина по умолчанию для
blockэлементauto, что, конечно, заполняет всю ширину элемента.установив поле в
auto, браузер присваивает половину оставшегося пространстваmargin-left, а другойmargin-right.
при некоторых обстоятельствах (например, более ранние версии IE, Gecko, Webkit) и наследование элементов с
position:relative;помешаетmargin:0 auto;работать, даже еслиtop,right,bottomиleftне установлено.настройки элемента
position:static;(по умолчанию) может исправить это в этих обстоятельствах. Как правило, элементы уровня блока с заданной шириной будут уважатьmargin:0 auto;используяrelativeилиstaticпозиционирование.
вы можете центрировать auto width div с помощью
display:table;div{ margin: 0px auto; float: none; display: table; }
всякий раз, когда мы не добавляем ширину и добавить
margin:auto, Я думаю, это не будет работать. Это из моего опыта. Ширина дает представление, где именно она должна обеспечить равные поля.
есть альтернатива
margin-left:auto; margin-right: auto;илиmargin:0 auto;для тех, которые используютposition:absolute;вот так:
вы устанавливаете левое положение элемента на 50% (left:50%;) но это не будет правильно центрировать его для того, чтобы элемент был правильно центрирован, вам нужно дать ему поле минус половина его ширины, что идеально центрирует ваш элементвот пример:http://jsfiddle.net/35ERq/3/
Comments