Как выровнять текст или блок 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;
>
| таблица |