Когда вы указали width
для объекта, к которому вы применили margin: 0 auto
, объект будет находиться в центре его родительского контейнера.
Указание auto
в качестве второго параметра в основном указывает браузеру автоматически определять левое и правое поля, что он делает, устанавливая их одинаково. Это гарантирует, что левые и правые поля будут одинакового размера. Первый параметр 0 указывает, что верхнее и нижнее поля будут оба равны 0.
margin-top:0;
margin-bottom:0;
margin-left:auto;
margin-right:auto;
Поэтому, чтобы дать вам пример , если родительский элемент - 100px, а дочерний - 50px, то свойство auto
будет определять, что есть 50px свободного пространства для совместного использования между margin-left
и margin-right
* * 1014
var freeSpace = 100 - 50;
var equalShare = freeSpace / 2;
Что даст:
margin-left:25;
margin-right:25;
Взгляните на это jsFiddle . Вам не нужно указывать родительскую ширину, только ширину дочернего объекта.