Существует несколько способов расположения контейнера по центру с помощью CSS. Рассмотрим наиболее распространенные из них.
- Расположение посредством свойств
margin: auto;иtext-align: center;.
.container {
margin: auto;
width: 80%; /* ширина контейнера */
text-align: center;
}
Установка свойства margin с автоматическими значениями по горизонтали помещает контейнер по центру родительского элемента, а свойство text-align: center; центрирует содержимое контейнера по горизонтали.
- Расположение посредством свойства
display: flex;и его свойствjustify-content: center;иalign-items: center;
.parent {
display: flex;
justify-content: center;
align-items: center;
height: 100%;
}
.container {
width: 80%; /* ширина контейнера */
}
Установка свойства display: flex; на родительском элементе, с последующей установкой justify-content: center; align-items: center; помещает контейнер по центру родительского элемента как по горизонтали, так и по вертикали.
- Расположение посредством свойства
position: absolute;и полейtop,left,bottom,right.
.parent {
position: relative; /* установка позиции для контейнера-родителя */
height: 100%; /* установка высоты родительского элемента */
}
.container {
width: 80%; /* задание ширины контейнера */
position: absolute;
top: 50%; /* установка вертикального смещения в пикселях */
left: 50%; /* установка горизонтального смещения в пикселях */
transform: translate(-50%, -50%); /* сброс позиции по горизонтали и вертикали контейнера */
}
Установка свойства position: absolute; на контейнере помещает его относительно родительского элемента. Затем мы устанавливаем поле top в 50%, чтобы сместить контейнер вертикально на половину высоты родительского элемента. Для горизонтального центрирования мы устанавливаем поле left в 50%, чтобы сместить контейнер горизонтально на половину ширины родительского элемента. Наконец, с помощью свойства transform: translate(-50%, -50%); мы «сбрасываем» позицию контейнера на половину его ширины и высоты, чтобы контейнер оказался точно по центру родительского элемента.
Выбор способа зависит от требований к макету и ситуации (например, есть ли родительские элементы с фиксированными размерами), поэтому выберите наиболее подходящий вариант для вашего случая.





