Почему не маржинальная: auto и margin-bottom: авто работают так же, как их левые и правые копии?
Если я устанавливаю свойства поля margin в div так:
div { margin-left: auto; margin-right: auto; }
Я получаю div, который расположен по горизонтали на странице, так.
Однако, если я изменил CSS на это:
div { margin-top: auto; margin-bottom: auto; }
мой div не вертикально центрирован. Мне не нужно знать обходное решение (множество решений доступны), но я хотел бы знать причину такого поведения. Почему же маргинальные и краевые дни не работают одинаково? Что мне не хватает?
Ответы
Ответ 1
Короткий ответ - это так говорит спецификация.
10.6.2 Встроенные замещенные элементы, замещенные на уровне блока элементы в нормальном потоке, замененные элементы inline-block в нормальном потоке и плавающие заменяемые элементы
Если "margin-top" или "margin-bottom" являются "auto", их используемое значение равно 0.
http://www.w3.org/TR/CSS2/visudet.html#Computing_heights_and_margins