Гид по технологиям

CSS vertical-align — полное руководство по вертикальному выравниванию

8 min read CSS Обновлено 18 Dec 2025
CSS vertical-align — полное руководство
CSS vertical-align — полное руководство

Ноутбук с кодом CSS на экране

CSS предоставляет несколько свойств для выравнивания. Свойство text-align ограничено блочными элементами и ячейками таблицы и описывает горизонтальное выравнивание. В отличие от него, vertical-align применяется только к inline-элементам и ячейкам таблицы ( и ).

vertical-align поддерживает разные типы значений: ключевые слова, проценты и длины. Часть значений относительна контейнера (родителя), часть — общей линии (baseline и соседним inline-элементам). В этом руководстве подробно показано, как применять vertical-align в разных сценариях, чтобы получить точное позиционирование.

Основные типы и идея baseline

Коротко: baseline — это воображаемая линия, на которой «сидят» символы шрифтов. При работе с inline-элементами vertical-align смещает базовую линию целевого элемента относительно базовой линии строки или относительно высоты соседних элементов.

vertical-align принимает три типа значений:

  • ключевые слова (например, baseline, top, middle, bottom, sub, super, text-top, text-bottom),
  • процентные значения (например, 20% или -50%),
  • длины (например, 10px, -0.5em).

Ниже — основные значения и короткое пояснение:

  • baseline: помещает элемент на базовую линию родителя.
  • top: выравнивает верх целевого элемента по верхнему краю самого высокого элемента в текущей строке.
  • middle: центрирует элемент по вертикали в текущей строке (относительно строки, не контейнера).
  • bottom: выравнивает низ целевого элемента с нижним краем самого низкого элемента в строке.
  • sub: позиционирует элемент по линии подстрочного текста (как индекс).
  • super: позиционирует элемент по надстрочной линии (как верхний индекс).
  • text-top: позиционирует элемент по верхней части шрифта родителя.
  • text-bottom: позиционирует элемент по нижней части шрифта родителя.
  • процент (например, 20%): смещает базовую линию целевого элемента на процент длины (положительный вверх, отрицательный вниз) относительно базовой линии родителя.
  • длина (например, 10em, 5px): смещает базовую линию на фиксированную длину (положительное — вверх, отрицательное — вниз).

Важно: проценты и длины смещают базовую линию элемента, а не его верх/низ напрямую, поэтому визуальные эффекты зависят от высоты шрифта и размера соседних inline-элементов.

Базовый HTML-шаблон для экспериментов

Ниже упрощённый HTML для локального тестирования — откройте файл в браузере и применяйте разные vertical-align стили.




    
    
    

    

    Document




Google Search фото леса
Scenery Description
Forest Lorem ipsum dolor sit amet.
Ocean Lorem ipsum dolor sit amet.

Браузер отобразит страницу с ссылкой, изображением, видео и таблицей — это удобная тестовая сцена для демонстраций vertical-align.

Простейшая веб-страница в браузере

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

По умолчанию многие текстовые элементы (h1–h6, p, li и пр.) — блочные. Прямого вертикального выравнивания у блочных элементов нет: сначала нужно перевести их в inline или inline-block с помощью display.

Однако некоторые текстовые теги (a, span) уже inline и сразу поддерживают vertical-align.

Пример: выровнять ссылку по верху строки

Использование значения top для текста

a {
  vertical-align: top;
}

Этот код выровняет верх текста внутри тега по верхнему краю самого высокого элемента в строке.

Выравнивание текста по top

Использование процентного значения для текста

Здесь текст смещается так, что его базовая линия будет на 50% ниже базовой линии родителя — визуально это опускает элемент относительно изображения и видео в той же строке.

Выравнивание текста процентом

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

Использование длины для текста

Длина смещает базовую линию на фиксированную величину. В примере базовая линия элемента будет на 90px выше базовой линии родителя.

Выравнивание текста длиной

Совет: избегайте больших фиксированных смещений (px) в адаптивной верстке; лучше использовать em/rem или проценты.

Как выравнивать изображения

Тег по умолчанию inline, поэтому vertical-align с ним работает «из коробки».

Пример: значение super для изображения

super позиционирует изображение по надстрочной линии родителя — изображение визуально поднимается выше базовой линии.

Изображение выравнено как super

Процентное смещение у изображения

25% поднимает базовую линию изображения на четверть высоты строки относительно базовой линии родителя — эффект похож на super, но настраиваемый.

Изображение выравнено процентом

Длина для изображений

Это поднимает базовую линию изображения на 5 пикселей — мелкая настройка, полезна для точной подгонки пиксельных макетов.

Изображение выравнено длиной

Как выравнивать встроенные медиа (video, iframe)

Видео и iframe — inline-элементы, поэтому vertical-align применим. Это удобно, когда рядом располагаются текст, иконки или изображения.

Пример: sub для видео

sub опускает видео по нижней линии подстрочного текста — полезно, когда нужно немного опустить медиа в строчном ряду.

Видео выровнено как sub

Процентное смещение для видео

-25% опускает базовую линию видео на 25% вниз относительно базовой линии родителя.

Видео выравнено процентом

Длина для видео

Небольшое отрицательное смещение опустит видео на 5 пикселей.

Видео выравнено длиной

Таблицы: выравнивание внутри ячеек

Хотя таблица как блок не реагирует на vertical-align, её ячейки (, ) ведут себя как inline/inline-block содержимое и поддерживают vertical-align на содержимом.

top в ячейке

Выравнивает содержимое ячеек по верхнему краю строки.

Таблица: содержимое выровнено по top

middle в ячейке

Центрует содержимое по вертикали внутри ячейки.

Таблица: содержимое по middle

bottom в ячейке

Приклеивает содержимое к нижнему краю ячейки.

Таблица: содержимое по bottom

Когда vertical-align не работает — частые причины

Важно: vertical-align пригоден для строчных контекстов. Для блочных и современных макетов чаще используют Flexbox и Grid.

Альтернативы и лучшие практики

Когда использовать vertical-align:

Когда не использовать:

Ментальные модели и эвристики

Мини‑шпаргалка: значения и когда применять

Быстрые паттерны кода

Критерии приёмки

Ролевые чек‑листы

Для frontend‑разработчика:

Для дизайнера/верстальщика:

Decision flow: когда применять vertical-align

Факто‑бокс: ключевые моменты

Тестовые случаи / приёмка

  1. Поставить изображение, текст и видео в одну строку и применить vertical-align:middle — визуально все должны быть центрированы.
  2. Поменять font-size родителя — убедиться, что процентные значения корректно смещают baseline.
  3. Применить отрицательное значение / отрицательную длину — проверить, что элемент опускается, а не обрезается.
  4. Вложенные inline-block с margin/padding — убедиться, что боковые эффекты не нарушают выравнивание.

Accessibility и responsive соображения

Короткая сводка: что помнить

Важно: vertical-align смещает базовую линию элемента, а не всегда видимые верх/низ напрямую. Проверяйте на реальных примерах.

Основные рекомендации: тестируйте на разных размерах шрифта и в целевых браузерах; используйте ключевые слова для быстрых результатов и проценты/длины для полировки.

Конец руководства — что дальше

Попробуйте применить vertical-align в простом проекте: выровняйте иконки и подписи в наборе карточек, настройте позиционирование миниатюр рядом с текстом, и убедитесь, что при смене font-size элементы остаются читаемыми. Если нужно выровнять целые блоки — переходите на Flexbox или Grid.

Автор
Редакция

Похожие материалы

Кастомная пагинация в React Native
Мобильная разработка

Кастомная пагинация в React Native

Как публиковать несколько BeReal в один день
Социальные сети

Как публиковать несколько BeReal в один день

Фильтры Waterdrop: обратный осмос для чистой воды
Здоровье

Фильтры Waterdrop: обратный осмос для чистой воды

Экспорт и импорт ВМ в VirtualBox
VirtualBox

Экспорт и импорт ВМ в VirtualBox

Как перенести данные на новый iPhone
Руководство

Как перенести данные на новый iPhone

AutoKey на Linux: установка и руководство
Linux

AutoKey на Linux: установка и руководство