Как центрировать текст с помощью CSS
Краткое определение
text-align — это CSS-свойство, которое управляет горизонтальным выравниванием строк внутри блочных элементов. Оно не перемещает сам элемент, а влияет только на содержимое (строки текста и встроенные элементы).

Важно: для выравнивания самого контейнера по центру используйте margin, а для выравнивания текста внутри контейнера — text-align.
Зачем это нужно
Часто заголовки, подписи или отдельные блоки текста выглядят лучше в центре. Правильное выравнивание повышает читаемость, улучшает визуальную структуру и помогает ориентировать пользователя на странице.
Основные значения text-align
- left — выравнивание по левому краю (по умолчанию для лево-направленных языков)
- right — выравнивание по правому краю
- center — выравнивание по центру
- justify — выравнивание по ширине (растягивает строки)
Пример простой HTML-страницы
Ниже минимальный пример страницы, где мы будем центровать заголовки и части текста.
Center Alignment
Heading
Lorem ipsum, dolor sit amet consectetur adipisicing
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Harum distinctio eum ex, repellat beatae in quasi eligendi enim dolorem ipsam. Ab necessitatibus sunt commodi ad fugit soluta provident dolorem distinctio?
Heading
Lorem ipsum, dolor sit amet consectetur adipisicing
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Harum distinctio eum ex, repellat beatae in quasi eligendi enim dolorem ipsam. Ab necessitatibus sunt commodi ad fugit soluta provident dolorem distinctio?
На чистой странице текст обычно выровнен влево. Ниже показаны способы сделать центрирование.
Как центрировать весь текст на странице
Если вам нужно, чтобы весь текст внутри контейнера был по центру, примените text-align к родительскому элементу.
Пример: центрирование всего содержимого
.container{
text-align: center;
}Результат: все заголовки, абзацы и встроенные элементы внутри контейнера будут выровнены по центру. Это удобно для лендингов или отдельных секций, но для длинных абзацев часто лучше оставить выравнивание влево для удобства чтения.
Важно: text-align влияет только на строки внутри блока. Если вам нужно центрировать сам блок, используйте margin.
Как центрировать только определённые элементы
Чтобы центрировать лишь некоторые теги, укажите селекторы напрямую.
Пример: только заголовки
h1, h3{
text-align: center;
}Так вы оставите абзацы выровненными по умолчанию, а заголовки поместите в центр.
Центрирование контейнера (div) на странице
Часто сайт не содержит текст до крайних краёв экрана: чтобы ограничить ширину и поместить контент по центру, центрируют сам контейнер.
Пример: ограничение ширины и центрирование контейнера
.container{
max-width: 920px;
margin: auto;
}Пояснение по работе margin: auto
- Когда слева и справа задано auto, браузер распределяет доступное пространство поровну, центрируя блок.
- max-width задаёт максимальную ширину контейнера и сохраняет адаптивность: при узком экране контейнер ужмётся, а при широком останется в пределах указанного максимума.
Когда text-align не сработает — типичные причины
- Блочный элемент имеет display: block и вы ожидаете, что он сместится — text-align не двигает блочные элементы, он выравнивает строчный контент внутри них.
- Внутри блока есть другой блочный дочерний элемент с фиксированными размерами — его нужно дополнительно центрировать через margin или flex.
- При использовании float элементы ведут себя иначе — снимите float или используйте другой метод.
Альтернативные подходы и когда их применять
- margin: auto — для центрирования самого блочного элемента с фиксированной или максимальной шириной.
- Flexbox — для выравнивания как по горизонтали, так и по вертикали; удобен для сложных макетов.
- CSS Grid — для двухмерных макетов; даёт точный контроль над позиционированием.
Пример с Flexbox — центрирование текста и элементов внутри блока
.container{
display: flex;
justify-content: center; /* по горизонтали */
align-items: center; /* по вертикали */
min-height: 200px;
}Flexbox полезен, когда нужно центрировать не только текст, но и соседние элементы, например иконки, кнопки или изображения.
Пример с Grid — центрирование ячеек
.grid{
display: grid;
place-items: center; /* сокращённо для align-items и justify-items */
min-height: 200px;
}Grid удобен, если нужно выровнять содержимое в рамках сетки или задать сложную структуру колонок и строк.
Доступность и читаемость
- Длинные абзацы лучше выравнивать влево (или по ширине для научных текстов), чтобы читатель быстро находил начало следующей строки.
- Центрируйте заголовки, подписи, цитаты и кнопки — это улучшает визуальную иерархию.
- Проверьте контрастность и масштабируемость шрифтов для мобильных устройств.
Краткая методика принятия решения (мини-подход)
- Определите цель: визуальное выделение (заголовок) или читаемость (абзац).
- Если цель — выделение, используйте text-align: center на целевых элементах.
- Если нужно центрировать блок целиком, задайте max-width и margin: auto.
- Для центровки в обеих осях применяйте Flexbox или Grid.
- Тестируйте на разных ширинах экрана и в режимах увеличения шрифта.
Шаблоны и быстрые сниппеты (cheat sheet)
- Центрирование заголовка:
h1{ text-align: center; }- Центрирование контейнера с ограничением ширины:
.container{ max-width: 900px; margin-left: auto; margin-right: auto; padding: 0 16px; }- Центрирование блока и его содержимого по центру страницы (вертикально и горизонтально):
.page-center{
display: flex;
justify-content: center;
align-items: center;
min-height: 100vh;
}Критерии приёмки
- Заголовки h1 и h3 визуально центрированы в секции на всех разрешениях.
- Основной абзац остаётся читаемым и по возможности выровнен влево.
- Контейнер с текстом не растягивается на всю ширину экрана на больших дисплеях.
- Страница корректно адаптируется при изменении размера окна и при увеличении шрифта браузера.
Рольовые чек-листы перед публикацией
- Дизайнер: проверил, что центрирование соответствует макету.
- Разработчик: применил text-align только к нужным элементам и использовал max-width для контейнеров.
- Тестировщик: проверил отображение на мобильных и настольных устройствах, в разных браузерах.
Тест-кейсы
- Открыть страницу на ширине 320px, 768px и 1440px — заголовки должны быть по центру, абзацы читаемы.
- Увеличить размер шрифта в браузере на 200% — макет не ломается.
- Проверить в браузерах с отключёнными стилями (style disabled) — контент остаётся доступным.
Маленькая галерея исключений
- Для языков с письмом справа налево (RTL) по умолчанию лучше выравнивать текст по правому краю. Для таких страниц используйте dir=’rtl’ и учитывайте это в стилях.
- Для печатных макетов и длинных колонок иногда применяется justify для аккуратных правых краёв, но это может создавать «реки» пробелов.
Что дальше изучать
- Flexbox для продвинутого центрирования элементов.
- CSS Grid для сложных макетов с колонками и строками.
- Техники типографики для улучшения читаемости текста.
Резюме
- text-align управляет только выравниванием строк внутри блока.
- Для центрирования самого блока используйте max-width и margin: auto.
- Flexbox и Grid дают мощные альтернативы для центрирования в обеих осях.
Важно: всегда проверяйте читаемость и доступность при выборе выравнивания.
Похожие материалы
Метки времени в комментариях YouTube — как добавить
Включить Family Options в Steam — быстрый родительский контроль
Ошибка Xbox 80151912 — как исправить
Как открыть файлы TXF — TurboTax и варианты
Миграция с .NET Core 3.1 на .NET 6 — руководство