CSS и вёрстка

Как выровнять input по центру CSS

📅 ⏱ 22:09 ⏳ 1 мин 💬 0

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

Коротко: чтобы выровнять поле input по центру по горизонтали, задайте ему display: block; margin: 0 auto; (при ограниченной ширине) или оберните в контейнер с display: flex; justify-content: center;. Центрирование текста внутри поля — это не то же самое: за него отвечает text-align: center. Разберём оба случая, чтобы не путаться.

Кому и зачемПоля поиска, формы подписки, поля входа часто делают по центру. Проблема в том, что input — inline-элемент по умолчанию, поэтому margin: 0 auto «молчит». Ниже — как это обойти.

Разница двух «центров»

Что центрируем Свойство Пример
Само поле на странице margin: 0 auto или flex поле поиска по центру блока
Текст внутри поля text-align: center введённые цифры по центру
Поле и кнопку по центру flex у родителя форма подписки в ряд по центру

Вкладки: способы выровнять поле




CSS
.search {
  display: block;
  width: 100%;
  max-width: 420px;
  margin: 0 auto;
}

display: block превращает поле в блочный элемент — теперь margin: 0 auto работает. max-width не даёт растянуться на всю ширину.

CSS
.form-row {
  display: flex;
  justify-content: center;
}
.form-row input { width: 320px; }

Центрируем контейнер, а не поле. Удобно, когда в форме несколько элементов — все встанут по центру.

CSS
.pin {
  text-align: center;      /* текст внутри поля */
  font-size: 18px;
}

Если нужно, чтобы вводимые цифры (например, код) были по центру — используйте text-align, но не путайте с выравниванием самого поля.

CSS
.subscribe {
  display: flex;
  justify-content: center;
  gap: 8px;
  flex-wrap: wrap;
}
.subscribe input { flex: 1 1 260px; max-width: 320px; }

На узком экране элементы переносятся благодаря flex-wrap и не вылезают за границы.

Что выбратьОдно поле — display: block; margin: 0 auto. Несколько элементов в форме — flex у родителя. Текст внутри — text-align.

Вертикальное выравнивание поля в строке

Если поле стоит рядом с текстом или иконкой и «пляшет» по высоте, выровняйте его через vertical-align: middle или, надёжнее, через flex:

CSS
.field-with-icon {
  display: flex;
  align-items: center;
  gap: 8px;
}

align-items: center выравнивает поле и иконку по одной линии.

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

Симптом Причина Решение
margin: 0 auto не работает поле inline по умолчанию добавить display: block
Поле растянулось на всю ширину нет max-width задать max-width: 420px
Поле «пляшет» по высоте нет выравнивания align-items: center
Появился скролл вбок фикс-ширина больше родителя max-width: 100%

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

Чек-лист




Почему margin: 0 auto не центрирует input сам по себе?




Какое свойство центрирует текст ВНУТРИ поля?




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

Скорее всего у него ширина auto: блочный элемент без ширины занимает всю строку, и центрировать нечего. Задайте width или max-width.

Родителю задайте display: flex; align-items: center; и при необходимости min-height.

Часто из-за фиксированной ширины и padding — сумма превышает экран. Решение: max-width: 100% и box-sizing: border-box.

Placeholder выравнивается тем же text-align, что и текст поля. Отдельного свойства для него не нужно.

Итоги

  • Поле по центру — display: block + margin: 0 auto (или flex у родителя).
  • Обязательно задайте max-width, иначе центрировать нечего.
  • Текст внутри поля — text-align: center.
  • Ряд из поля и кнопки выравнивается flex-контейнером.
Поделиться: ВКонтакте Telegram WhatsApp Одноклассники Viber Мой Мир

Комментарии

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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