vertical align css что это

Свойство vertical-align

vertical align css что это. Смотреть фото vertical align css что это. Смотреть картинку vertical align css что это. Картинка про vertical align css что это. Фото vertical align css что это

Это перевод статьи Ире Адеринокун «The vertical-align property».

Свойство vertical-align управляет вертикальным выравниванием элементов внутри своих родителей. Оно применяется к строчным элементам и к ячейкам таблиц. У него десять возможных значений:

Типографские единицы измерения

Разные значения свойства vertical-align зависят от определённых типографских единиц измерения. Поэтому, чтобы понимать эти значения, для начала нужно понять эти единицы изменения. Существует семь таких единиц, на которых базируются значения свойства.

vertical align css что это. Смотреть фото vertical align css что это. Смотреть картинку vertical align css что это. Картинка про vertical align css что это. Фото vertical align css что этоТипографские единицы измерения

ЦветЕдиницаОписание
baselineбазовая линия шрифта
subscript baselineбазовая линия нижнего индекса строки
superscript baselineбазовая линия верхнего индекса строки
x heightвысота буквы «x» шрифта
line heightвысота строки
font topверхняя линия, верхняя граница шрифта
font bottomнижняя линия, нижняя граница шрифта

Значения

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

Baseline (базовая линия)

Значение baseline для строчных элементов выравнивает базовую линию текущего элемента по базовой линии родительского. В примере ниже, у квадрата следующие стили:

vertical align css что это. Смотреть фото vertical align css что это. Смотреть картинку vertical align css что это. Картинка про vertical align css что это. Фото vertical align css что этоБазовая линия для строчных элементов

vertical align css что это. Смотреть фото vertical align css что это. Смотреть картинку vertical align css что это. Картинка про vertical align css что это. Фото vertical align css что этоБазовая линия для ячеек таблицы

Значение sub для строчных элементов выравнивает базовую линию текущего элемента по базовой линии нижнего индекса родительского элемента.

vertical align css что это. Смотреть фото vertical align css что это. Смотреть картинку vertical align css что это. Картинка про vertical align css что это. Фото vertical align css что этоЗначение sub для строчных элементов

Super

Значение super для строчных элементов выравнивает базовую линию текущего элемента по базовой линии верхнего индекса родительского элемента.

vertical align css что это. Смотреть фото vertical align css что это. Смотреть картинку vertical align css что это. Картинка про vertical align css что это. Фото vertical align css что этоЗначение super для строчных элементов

Text-top

Значение text-top для строчных элементов выравнивает верхнюю границу текущего элемента по верхней линии шрифта родительского элемента.

vertical align css что это. Смотреть фото vertical align css что это. Смотреть картинку vertical align css что это. Картинка про vertical align css что это. Фото vertical align css что этоЗначение text-top для строчных элементов

Text-bottom

Значение text-bottom для строчных элементов выравнивает нижнюю границу текущего элемента по нижней границе шрифта родительского элемента.

vertical align css что это. Смотреть фото vertical align css что это. Смотреть картинку vertical align css что это. Картинка про vertical align css что это. Фото vertical align css что этоЗначение text-bottom для строчных элементов

Middle

Значение middle для строчных элементов выравнивает середину текущего элемента по середине родительского элемента. Середина родительского элемента подсчитывается следующим образом: берётся высота символа x, делится пополам и добавляется к базовой линии.

vertical align css что это. Смотреть фото vertical align css что это. Смотреть картинку vertical align css что это. Картинка про vertical align css что это. Фото vertical align css что этоЗначение middle для строчных элементов

Для табличных элементов это значение выравнивает содержимое текущей ячейки по центру строки с учётом внутренних отступов (padding-box).

vertical align css что это. Смотреть фото vertical align css что это. Смотреть картинку vertical align css что это. Картинка про vertical align css что это. Фото vertical align css что этоЗначение middle для ячеек таблицы

Значение top для строчных элементов выравнивает верхнюю границу текущего элемента по верхней границе всей строки, на которой находится элемент. Это значение не обязательно связано со шрифтовыми элементами в строке.

vertical align css что это. Смотреть фото vertical align css что это. Смотреть картинку vertical align css что это. Картинка про vertical align css что это. Фото vertical align css что этоЗначение top для строчных элементов

Для табличных элементов это значение выравнивает содержимое текущей ячейки по верхнему краю строки с учётом внутреннего отступа.

vertical align css что это. Смотреть фото vertical align css что это. Смотреть картинку vertical align css что это. Картинка про vertical align css что это. Фото vertical align css что этоЗначение top для ячеек таблицы

Bottom

Значение bottom для строчных элементов выравнивает нижнюю границу текущего элемента по нижней границе всей строки, на которой находится элемент.

vertical align css что это. Смотреть фото vertical align css что это. Смотреть картинку vertical align css что это. Картинка про vertical align css что это. Фото vertical align css что этоЗначение bottom для строчных элементов

Для табличных элементов это значение выравнивает содержимое текущей ячейки по нижнему краю строки с учётом внутреннего отступа.

vertical align css что это. Смотреть фото vertical align css что это. Смотреть картинку vertical align css что это. Картинка про vertical align css что это. Фото vertical align css что этоЗначение bottom для ячеек таблицы

Расстояние

Указанное значение для строчных элементов передвигает базовую линию текущего элемента на указанное расстояние относительно базовой линии родительского элемента. На примере ниже, розовый квадрат имеет следующие стили:

vertical align css что это. Смотреть фото vertical align css что это. Смотреть картинку vertical align css что это. Картинка про vertical align css что это. Фото vertical align css что этоСмещение базовой линии с помощью указания расстояния

Проценты

Указание значения в процентах для строчных элементов передвигает базовую линию текущего элемента относительно базовой линии родительского элемента на расстояние, равное заданному проценту от высоты строки родительского элемента. На примере ниже, розовый квадрат имеет следующие стили:

vertical align css что это. Смотреть фото vertical align css что это. Смотреть картинку vertical align css что это. Картинка про vertical align css что это. Фото vertical align css что этоСмещение базовой линии с помощью указания процентов

Источник

vertical-align

Internet ExplorerChromeOperaSafariFirefoxAndroidiOS
6.0+8.0+1.0+3.5+1.0+1.0+1.0+1.0+

Краткая информация

Значение по умолчаниюbaseline
НаследуетсяНет
ПрименяетсяК встроенным элементам или ячейкам таблицы.
Ссылка на спецификациюhttp://www.w3.org/TR/CSS21/visudet.html#propdef-vertical-align

Версии CSS

Описание

Выравнивает элемент по вертикали относительно своего родителя, окружающего текста или ячейки таблицы.

Синтаксис

vertical-align: baseline|bottom|middle|sub|super|text-bottom|text-top|top|inherit | значение | проценты

Значения

Для выравнивания по вертикали в ячейках таблицы применяются следующие значения.

baseline Выравнивает базовую линию ячейки с базовой линией первой текстовой строки или другого вложенного элемента. bottom Выравнивает по нижнему краю ячейки. middle Выравнивает по середине ячейки. top Выравнивает содержимое ячейки по ее верхнему краю.

HTML5 CSS2.1 IE Cr Op Sa Fx

Результат данного примера показан на рис. 1.

vertical align css что это. Смотреть фото vertical align css что это. Смотреть картинку vertical align css что это. Картинка про vertical align css что это. Фото vertical align css что это

Рис. 1. Применение свойства vertical-align

Объектная модель

[window.]document.getElementById(» elementID «).style.verticalAlign

Браузеры

Источник

vertical-align

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

Свойство vertical-align может использоваться в двух контекстах:

Обратите внимание: свойство vertical-align применяется только к строчным элементам и элементам ячеек таблицы: его нельзя использовать для вертикального позиционирования блочных элементов.

Синтаксис

Свойство vertical-align задаётся одним из ключевых значений, указанных ниже.

Значения для строчных элементов

Значения относительно родительского элемента

Данные значения позиционируют элемент по вертикали относительно родительского элемента:

baseline Выравнивает базовую линию элемента с базовой линией родительского элемента. Базовая линия некоторых замещаемых элементов (en-US), таких как

Поднимает базовую линию элемента на указанную в процентах величину (вычисляется относительно значения свойства line-height ) над базовой линией родительского элемента. Допустимы отрицательные значения.

Значения относительно строки

Следующие значения позиционируют элемент по вертикали относительно всей строки:

top Выравнивает верхний край элемента и его потомков с верхним краем всей строки. bottom Выравнивает нижний край элемента и его потомков с нижним краем всей строки.

Для элементов, у которых нет базовой линии, вместо неё используется нижняя граница внешнего отступа (margin).

Значения для ячеек таблицы

) Выравнивает базовую линию ячейки с базовой линией всех остальных ячеек этой строки, которые выравнены относительно базовой линии. top Выравнивает верхнюю границу внутреннего отступа (padding) ячейки с верхним краем строки таблицы. middle Выравнивает внутреннее поле (padding box) ячейки по центру относительно строки таблицы. bottom Выравнивает нижнюю границу внутреннего отступа (padding) ячейки с нижним краем строки таблицы.

Источник

vertical-align

Internet ExplorerChromeOperaSafariFirefoxAndroidiOS
6.0+8.0+1.0+3.5+1.0+1.0+1.0+1.0+

Краткая информация

Значение по умолчаниюbaseline
НаследуетсяНет
ПрименяетсяК встроенным элементам или ячейкам таблицы.
Ссылка на спецификациюhttp://www.w3.org/TR/CSS21/visudet.html#propdef-vertical-align

Версии CSS

Описание

Выравнивает элемент по вертикали относительно своего родителя, окружающего текста или ячейки таблицы.

Синтаксис

vertical-align: baseline|bottom|middle|sub|super|text-bottom|text-top|top|inherit | значение | проценты

Значения

Для выравнивания по вертикали в ячейках таблицы применяются следующие значения.

baseline Выравнивает базовую линию ячейки с базовой линией первой текстовой строки или другого вложенного элемента. bottom Выравнивает по нижнему краю ячейки. middle Выравнивает по середине ячейки. top Выравнивает содержимое ячейки по ее верхнему краю.

HTML5 CSS2.1 IE Cr Op Sa Fx

Результат данного примера показан на рис. 1.

vertical align css что это. Смотреть фото vertical align css что это. Смотреть картинку vertical align css что это. Картинка про vertical align css что это. Фото vertical align css что это

Рис. 1. Применение свойства vertical-align

Объектная модель

[window.]document.getElementById(» elementID «).style.verticalAlign

Браузеры

Источник

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

vertical align css что это. Смотреть фото vertical align css что это. Смотреть картинку vertical align css что это. Картинка про vertical align css что это. Фото vertical align css что это

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

Да, для вертикального выравнивания в CSS есть специальное свойство vertical-align с множеством значений. Однако на практике оно работает совсем не так, как ожидается. Давайте попробуем в этом разобраться.

Сравним следующие подходы. Выравнивание с помощью:

vertical align css что это. Смотреть фото vertical align css что это. Смотреть картинку vertical align css что это. Картинка про vertical align css что это. Фото vertical align css что это

Задача состоит в том, чтобы выровнять внутренний элемент по центру внешнего элемента.

Зададим блокам размеры, а также фоновые цвета, чтобы видеть их границы.

После применения стилей мы увидим, что внутренний блок выровнялся по горизонтали, а по вертикали нет:
http://jsfiddle.net/c1bgfffq/

Почему так произошло? Дело в том, что свойство vertical-align влияет на выравнивание самого элемента, а не его содержимого (кроме случаев, когда оно применяется к ячейкам таблицы). Поэтому применение данного свойства к внешнему элементу ничего не дало. Более того, применение этого свойства к внутреннему элементу также ничего не даст, поскольку строчные блоки ( inline-block ) выравниваются по вертикали относительно соседних блоков, а в нашем случае у нас один строчный блок.

Для решения данной проблемы существует несколько техник. Ниже подробнее рассмотрим каждую из них.

Выравнивание с помощью таблицы

Первое приходящее на ум решение − заменить внешний блок таблицей из одной ячейки. В этом случае выравнивание будет применяться к содержимому ячейки, то есть к внутреннему блоку.

Очевидный минус данного решения – с точки зрения семантики неправильно применять таблицы для выравнивания. Второй минус в том, что для создания таблицы требуется добавить еще один элемент вокруг внешнего блока.

Первый минус можно частично убрать, заменив теги table и td на div и задав табличный режим отображения в CSS.

Тем не менее внешний блок все равно останется таблицей со всеми вытекающими из этого последствиями.

Выравнивание с помощью отступов

Если высоты внутреннего и внешнего блока известны, то выравнивание можно задать с помощью вертикальных отступов у внутреннего блока, используя формулу: (Houter – Hinner) / 2.

Минус решения — оно применимо лишь в ограниченном числе случаев, когда известны высоты обоих блоков.

Выравнивание с помощью line-height

Минус данного способа заключается в том, что должна быть известна высота внешнего блока.

Выравнивание с помощью «растягивания»

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

Минус данного способа — должна быть известна высота внутреннего блока.

Выравнивание с помощью отрицательного margin-top

Этот способ получил широкую известность и применяется очень часто. Как и предыдущий, он применяется, когда высота внешнего блока неизвестна, но известна высота внутреннего.

Минус данного способа — должна быть известна высота внутреннего блока.

Выравнивание с помощью transform

Минус данного способа в ограниченной поддержке свойства transform старыми версиями браузера IE.

Выравнивание с помощью псевдоэлемента

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

Суть способа в добавлении внутри внешнего блока строчного блока inline-block высотой в 100% и задания ему вертикального выравнивания. В этом случае высота добавленного блока будет равна высоте внешнего блока. Внутренний блок выровняется по вертикали относительно добавленного, а значит, и внешнего блока.

Минус данного способа — он не может быть применен, если внутренний блок имеет абсолютное позиционирование.

Выравнивание с помощью Flexbox

Самый современный способ вертикального выравнивания это использовать Flexible Box Layout (в народе известен как Flexbox ). Данный модуль позволяет гибко управлять позиционированием элементов на странице, располагая их практически как угодно. Выравнивание по центру для Flexbox − очень простая задача.

Минус данного способа − Flexbox поддерживается только современными браузерами.

Какой способ выбрать?

Нужно исходить из постановки задачи:

Источник

Добавить комментарий

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