Как выровнять текст или блок div по вертикали | CSS
Вместо того, чтобы задавать высоту родителю, можно расширить отступ элемента.
какой-то текст
какой-то текст
line-height = height
Если высоту строки (свойство line-height) сделать равной высоте блока (свойство height), то вложенный элемент разместиться по центру.
выровнять однострочный текст по вертикали
выровнять однострочный текст по вертикали
Вертикальное выравнивание иконок и смайликов
Какой-то текст какой-то текст
Какой-то текст

какой-то текст
display: table-cell; и vertical-align: middle;
какой-то текст
первая строка
вторая строка
какой-то текст
какой-то текст
первая строка
вторая строка
какой-то текст
vertical-align и :before
Не вижу ограничений по использованию.
первая строка
вторая строка
первая строка
вторая строка
position: absolute; (или position: fixed;) и картинки
Можно применять и для выравнивания вложенных блоков, но у них должны быть указаны width и height.
position: absolute; (или position: fixed;) и отрицательный margin
первая строка
вторая строка
первая строка
вторая строка
position: absolute; (или position: fixed;) и transform: translate
первая строка
вторая строка
первая строка
вторая строка
display: flex; и margin: auto;
первая строка
вторая строка
.vyrovnyat < display: flex; /* для IE10+, для ряда браузеров нужны префиксы */ height: 7em; /* можно заменить на min-height */ background: #fff5d7; > .vyrovnyat div < margin: auto; background: #9F9; > /* или так */ .vyrovnyat < display: flex; justify-content: center; align-items: center; height: 7em; background: #fff5d7; > .vyrovnyat div первая строка
вторая строка
30 комментариев:
usf вроде и все просто, но часто в уже готовой верстве приходится бубном плясать, чтобы простые выравнивания сделать правильно) NMitra ))) Возвращаемся к верстке таблицами, только через display: table; Анонимный Спасли; display: table-cell у меня не работал, а все такие простые, только у вас написано, что родительскому блоку нужно давай display: table!
Спасибо! 🙂 NMitra td без table не используется, здесь всё тоже самое. Встречала, правда, экспериментаторов, которые родителю присваивают display: table-cell, но не считаю это лучшим вариантом. Анонимный hggf Irene vertical-align: middle — оказалось то, что надо. У меня идёт строка текста, затем блок div, в котором иконки соцсетей. Текст нужно было поднять. Билась, билась. И, ура, нашла эту статью! Большое спасибо. Дакпа Чойдон Спасибо, хорошо объяснили, всё получилось через vertical-align NMitra Странно, а я применяю все варианты. Да, для разных случаев, но все. gray как ни странно, последний пример (Для резинового блока, заданного в процентах применяется position: absolute; с transform: translate.) корректно отображается только в Опере 12.
В Опере 18, 19, 20, Next; а так же в Хроме 31, Я.браузере 13 — .blok1 (зеленый) располагается в нижней правой четверти. gray потратив некоторое время на решение этой задачи было найдено решение, работающее во всех перечисленных выше браузерах:
NMitra Очень много кода получилось ((( Яндекс и Хром на одной платформе стоят, по хорошему результат должен быть одним и тем же. gray Много кода — это да.. но это единственный способ, которым мне удалось отцентровать резиновый блочный элемент. Кстати, в CSS это выглядит так:
.xalign display: table;
width: 100%;
height: 100%;
position: relative;
overflow: hidden;
>
.xalign div display: table-cell;
vertical-align: middle;
>
Анонимный У вас странный фавикон. Каждый раз смотрю и думаю, х#й что полезное найду в этой статье. И действительно, не нахожу. NMitra Это фига, хотя значение похоже )) А что искали? Интересен ваш случай. Анонимный Спасибо! Анонимный Не встречал технику с transform. Для всеобщего образования пригодится.
@))) Возвращаемся к верстке таблицами, только через display: table; @
Реализовать поведение таблиц с помощью css; нее.. это движение вперед.
Да и вообще, таблицы, не такое уж и зло. Аминь! 😉 Ясное дело, что про семантику и подобные молитвы забывать не стоит, но я ничего страшного не вижу, если приходится иногда юзануть табличку не по ее назначению, тем самым, улучшив какие-то определенные свойства страницы(есть такие;) или например, нужна по ТЗ поддержка разного старья.
Сейчас конечно поддержка css на другом уровне и нужно все-таки стараться использовать правильные приемы/техники/инструменты которые дают новые браузеры. Но и нех стесняться этих таблиц. мол не про уровень)) Спецификация — это пока еще рекомендации, поддержка css браузерами далека от идеала и столько спорных моментов с этой семантикой.
Выравнивание текста по вертикали и по центру с помощью CSS.

Задача верстки, которая очень часто встречается – это выравнивание текста по вертикали в блоке div.
Если с выравниванием текста по горизонтали, проблем обычно не возникает (используем свойство text-align:center и все будет хорошо), то с выравниванием по вертикали все немного сложнее.
Есть одной свойство в CSS, которое называется vertical-align. Казалось бы, используя его можно решить все проблемы. Но не тут-то было.
Нужно учитывать такой момент, что vertical-align можно применять только для выравнивания содержимого ячеек таблиц или для строчных элементов, для выравнивания их друг относительно друга в пределах одной строки.
Для блочных элементов свойство vertical-align не работает.
Есть два способа, как можно выйти из этой ситуации:
Для тех, кто предпочитает все смотреть в видео:
Для тех, кто любит текст, читайте ниже способ решения этой проблемы.
Способ А. Как одно из решений, можно разместить текст не в элементе div, а в ячейке таблицы.
| Строка 1 Строка 2
Строка 3 |

Способ Б. Использовать своство display:table-cell;
Строка 1
Строка 2
Строка 3
Одна проблема, это свойство не поддерживают Internet Explorer 6-7 версии.

Ситуация 1. Выравнивание одной строки текста.
Рассмотрим простой пример.
Строка, которая должна быть выровнена по вертикали
Строка текста располагается по верхнему краю. Т.к. у нас всего одна строка текста, то для выравнивания можно воспользоваться самым простым способом: это добавление свойства line-height со значением равным высоте элемента div, в котором текст находится.
Строка, которая должна быть выровнена по вертикали

Этот способ хорошо работает, когда у вас всего одна строка с текстом.
Ситуация 2. Если известны точные значения ширины и высоты дочернего блока, где располагается сам текст.
Этот вариант решения предусматривает использование свойства position:absolute для дочернего блока, абсолютного его позиционирования относительно родительского блока с position:relative.
Строка 1
Строка 2
Строка 3

Зная ширину и высоту блока, можно взять половину этой величины и задать ее отрицательными значениями для свойств margin-left и margin-top.
Есть еще более современное решение этой проблемы — использование flexbox.
Если не нужна поддержка старых браузеров, этот вариант будет самым оптимальным.
Как видите, такая простая задача, как выравнивание текста по центру, оказалась не такой простой на практике.
Чтобы оставить сообщение, зарегистрируйтесь/войдите на сайт через:
Как выровнять текст по вертикали css
За выравнивание по вертикали отвечает CSS-свойство vertical-align . Чаще всего используются значения top, middle и bottom. Выравнивание по вертикали можно наглядно рассмотреть на примере таблицы.
Исходный HTML документ:
class="bottom">Заголовок 1 class="up-center">Заголовок 2 >Текст 1 class="up">Текст 2
table /* Схлапывание границы у таблицы */ border-collapse: collapse; > th, td /* Видимая граница ячеек */ border: 1px solid #000; /* Внутренний отступ и размер ячеек */ padding: 5px; width: 200px; height: 60px; > .up vertical-align: top; > .up-center vertical-align: text-top; > .bottom vertical-align: bottom; >

Результат:
Эффективные способы выравнивания текстовых объектов
Ознакомьтесь с быстрыми и эффективными способами выравнивания текстовых объектов с другими компонентами иллюстраций.

Прежде чем продолжить
Выравнивание текста по вертикали
Текст можно выровнять по вертикали сверху, снизу или по центру текстового фрейма, либо можно скорректировать позиции.
Для выравнивания текста по вертикали выполните действия, описанные ниже.
- Выделите текстовый фрейм.
- Выберите команду Текст >Параметры текста в области.
- Выберите параметр выравнивания в выпадающем списке Выравнивание > По вертикали. Кроме того, можно выбрать один из вариантов Выравнивания на панели свойств или на панели управления.
- Выберите Сверху, чтобы выровнять текст от верхнего края фрейма вниз по вертикали. Этот параметр используется по умолчанию.
- По центру — выравнивание текста по центру фрейма.
- По нижнему краю — выравнивание по вертикали по нижнему краю фрейма.
- Равномерно — равномерное распределение по вертикали между верхним и нижним краем фрейма.
Кроме того, можно выбрать вариант выравнивания по вертикали на панели свойств или панели управления.