Центрирование div, margin: 0 auto; не работает

После поиска по центру моего div все, что я мог получить, это margin: 0 auto; вместе с заданной шириной, но все равно не работает.

Моя проблема просто центрирует div. Я понятия не имею, почему margin: 0 auto; не работает.

Вот макет моего CSS/html:

CSS

    .countdown-box {
       position: absolute;
       width: 80px;
       margin: 0 auto;
       height: 130px;
       /*left: 50%;*/
       background: #008040;
       border-radius: 4px;
       z-index: 2;
    }
<div class = "countdown-box"></div>

вы хотите центрировать div по горизонтали или по горизонтали и по вертикали?

Faizan Khan 13.03.2019 02:54

@Faizan Khan Я хочу центрировать его по горизонтали

Ojay 13.03.2019 02:56

Вы полностью позиционировали элемент, то есть удалили его из потока документов. Следовательно, он не будет учитывать поля, как относительные или статические элементы.

Andy Hoffman 13.03.2019 02:58
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Введение в CSS
Введение в CSS
CSS является неотъемлемой частью трех основных составляющих front-end веб-разработки.
Как выровнять Div по центру?
Как выровнять Div по центру?
Чтобы выровнять элемент <div>по горизонтали и вертикали с помощью CSS, можно использовать комбинацию свойств и значений CSS. Вот несколько методов,...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Travel Booking Angular Template один из лучших Travel & Tour booking template in the world. 30+ валидированных HTML5 страниц, которые помогут...
1
3
72
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Ответ принят как подходящий

Это потому, что вы используете position: absolute;. Измените его на position: relative;, и он будет работать.

маржа: авто работает с элементами с относительным положением. Чтобы центрировать с абсолютной позицией, должно быть похоже на следующий CSS:

    .countdown-box {
        position: absolute;
        background: #008040;
        border-radius: 4px;
        height: 130px;
        width: 80px;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        margin: auto;
    }
<div class = "countdown-box"></div>

На самом деле margin auto будет выделять доступное пространство, а это значит, что оно не имеет никакого отношения к тому, относительное оно или нет.

<div class = "centerize"></div>


.centerize {
  width: 200px;
  height: 200px;
  margin: 0 auto;
  background: yellow;
}

Другие вопросы по теме