У меня есть div и я хочу, чтобы он был центрирован по горизонтали - хотя я даю его, margin:0 auto;
он не центрирован
.container {
position: absolute;
top: 15px;
z-index: 2;
width:40%;
max-width: 960px;
min-width: 600px;
height: 60px;
overflow: hidden;
background: #fff;
margin:0 auto;
}
Ответы:
Вам нужно установить
left: 0
иright: 0
.Это указывает, как далеко смещать края полей от сторон окна.
Источник: http://www.w3.org/TR/CSS2/visuren.html#position-props
источник
width
обязательно!margin: auto
чтобы это работало в нашем случаеЭто не работает в IE8, но может быть вариантом для рассмотрения. Это в первую очередь полезно, если вы не хотите указывать ширину.
источник
Хотя приведенные выше ответы верны, но для простоты новичков все, что вам нужно сделать, это установить поле слева и справа. следующий код сделает это при условии, что ширина установлена и позиция абсолютна:
Демо-версия:
источник
Flexbox? Вы можете использовать flexbox.
источник
left: 0; right: 0;
расширен до 100%, что не было возможным, так как дочерний элемент имел цвет фона иleft: 50%; transform: translateY(-50%);
не работал, потому что это ограничивало дочерний элемент шириной 50% Это было единственное решение, которое сохраняло гибкие размеры дочернего элемента (ограничивалось только поддержкой браузера). Спасибо!источник
так просто, используйте только поля margin и left, right:
Вы можете увидеть больше в этом совете => Как установить элемент div в центр в html- блоге Obinb
источник
Вот ссылка, пожалуйста, используйте это, чтобы сделать div в центре, если позиция абсолютная.
HTML:
CSS:
Пример jsfiddle
источник
Вы не можете использовать
margin:auto;
наposition:absolute;
элементах, просто удалите его , если вам это не нужно, однако, если вы делаете, вы можете использоватьleft:30%;
((100% -40%) / 2) и медиа - запросы для максимальных и минимальных значений:источник