CSS и вёрстка

Как поставить по середине в css

📅 ⏱ 06:00 ⏳ 1 мин 💬 0

Как поставить по середине в css: простыми словами, по шагам и с примерами. Разбираем, как это работает на практике, типичные ошибки и лучшие решения. Раскрываем

Коротко: «поставить по середине» чаще всего значит центрирование. По горизонтали — text-align: center для текста и margin: 0 auto для блока с шириной. По обеим осям — display: grid; place-items: center или flex с justify-content и align-items. Для наложений — position: absolute + transform.

Кому и зачемЦентрирование — самая часто задаваемая тема в вёрстке. Главное — понять, что вы центрируете: текст, блок, иконку, оверлей. Для каждого случая есть свой короткий ответ.

Быстрая шпаргалка

Что Способ
Текст по центру text-align: center
Контейнер по центру max-width + margin: 0 auto
По обеим осям grid + place-items: center
По вертикали в блоке flex + align-items: center
Поверх блока absolute + translate(-50%, -50%)

Вкладки: примеры




CSS
.center-text { text-align: center; }

Центрирует строку и инлайн-элементы внутри блока. Не влияет на положение блока — только содержимого.

CSS
.wrapper {
  width: 100%;
  max-width: 720px;
  margin: 0 auto;
}

Блочный элемент с ограниченной шириной встанет по центру родителя. Без ширины центрировать нечего.

CSS
.box {
  display: grid;
  place-items: center;
  min-height: 320px;
}

Самый короткий способ центрировать и по X, и по Y. Для вертикального центрирования родителю нужна высота (min-height).

CSS
.parent { position: relative; }
.center-abs {
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
}

Когда элемент должен «висеть» по центру независимо от потока: надпись на картинке, лоадер, модальное окно.

Запомните одно правилоДля 90% задач достаточно grid + place-items: center у родителя с заданной высотой. Остальное — по ситуации.

Практика: три частых случая

  1. Кнопка по центру секции: родителю text-align: center или flex с justify-content: center.
  2. Карточка входа по центру экрана: min-height: 100vh + grid + place-items: center.
  3. Заголовок по центру фиксированной высоты блока: flex + align-items: center.

Частые ошибки: причина → решение

Симптом Причина Решение
Не центрируется по вертикали нет высоты родителя задать min-height
Блок не центрируется нет ширины max-width
Сдвиг «на полпикселя» нечётные размеры и translate выровнять размеры
Текст «прилип» к краю нет отступов у секции добавить padding

Проверьте себя

Чек-лист




Какой приём центрирует по обеим осям одной строкой?




Что нужно для вертикального центрирования через flex?




Вопросы и ответы

Через flex у родителя: display: flex; justify-content: center; — ширина не нужна.

У элемента нет ширины или он строчный. Задайте width/max-width и display: block.

Достаточно display: inline-flex; align-items: center; justify-content: center; и одинаковых отступов.

Родителю min-height: 100vh (лучше 100dvh), grid и place-items: center.

Итоги

  • Текст — text-align, блок — ширина + margin: 0 auto.
  • Обе оси — grid + place-items: center.
  • Вертикаль во flex — align-items: center и высота.
  • Поверх блока — absolute + translate(-50%, -50%).
Поделиться: ВКонтакте Telegram WhatsApp Одноклассники Viber Мой Мир

Комментарии

Пока комментариев нет — будьте первым, кто поделится мнением.

Оставить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Получите консультацию нашего маркетолога

Изучит ваш проект, подберет подходящие услуги и тарифы

Получите бесплатный аудит

Наш специалист сделает базовый аудит вашего проекта и предложит персональные предложения.

Закажите услугу Каталог морепродуктов

Наш специалист свяжется с вами в ближайшее время и уточнит детали

Закажите адаптивный сайт

Наш специалист поможет составить Вам техническое задание на разработку сайта

Закажите сайт

Наш специалист поможет составить Вам техническое задание на разработку сайта

Закажите сайт лендинг

Наш специалист поможет составить Вам техническое задание на разработку сайта

Закажите сайт каталог

Наш специалист поможет составить Вам техническое задание на разработку сайта

Закажите интернет-магазин

Наш специалист поможет составить Вам техническое задание на разработку сайта

Закажите веб-приложение

Наш специалист поможет составить Вам техническое задание на разработку сайта

Закажите тариф Аутсорс

Стоимость от 150 000 ₽

Закажите тариф Магазин

Стоимость 90 000 ₽

Закажите тариф Классический

Стоимость 60 000 ₽

Закажите тариф Эконом

Стоимость 40 000 ₽

Закажите SEO продвижение

Наш специалист свяжется с вами, проведет анализ, предложит стоимость