vertical-align
Властивість CSS vertical-align (шикувати вертикально) задає вертикальне шикування для рядкового, рядково-блокового чи таблично-коміркового елемента.
Спробуйте його в дії
Властивість vertical-align може застосовуватися у двох контекстах:
- Для вертикального шикування рамки елемента рядкового рівня всередині лінійної рамки, що його вміщає. Наприклад, це можна застосувати для вертикального розташування зображення в рядку тексту.
- Для вертикального шикування вмісту в комірці таблиці.
Зверніть увагу, що vertical-align застосовується лише до рядкових, рядково-блокових та таблично-коміркових елементів: її не можна використовувати для вертикального шикування елементів блокового рівня.
Синтаксис
/* Значення – ключові слова */
vertical-align: baseline;
vertical-align: sub;
vertical-align: super;
vertical-align: text-top;
vertical-align: text-bottom;
vertical-align: middle;
vertical-align: top;
vertical-align: bottom;
/* Значення <length> */
vertical-align: 10em;
vertical-align: 4px;
/* Значення <percentage> */
vertical-align: 20%;
/* Глобальні значення */
vertical-align: inherit;
vertical-align: initial;
vertical-align: revert;
vertical-align: revert-layer;
vertical-align: unset;
Властивість vertical-align задається за допомогою одного зі значень, перелічених нижче.
Значення для рядкових елементів
Відносні щодо батьківського елемента значення
Ці значення вертикально шикують елемент відносно його батьківського елемента:
baselineШикує базову лінію елемента до базової лінії батьківського елемента. Базова лінія частини заміщених елементів, наприклад,
<textarea>, не задана специфікацією HTML, а отже – їх поведінка з цим ключовим словом може відрізнятися на різних браузерах.subШикує базову лінію елемента до базової лінії підрядкового тексту батьківського елемента.
superШикує базову лінію елемента до базової лінії надрядкового тексту батьківського елемента.
text-topШикує верх елемента до верху шрифту батьківського елемента.
text-bottomШикує низ елемента до низу шрифту батьківського елемента.
middleШикує середину елемента до базової лінії плюс половини x-height батьківського елемента.
<length>Шикує базову лінію елемента до даної відстані над базовою лінією батьківського елемента. Дозволені від'ємні значення.
<percentage>Шикує базову лінію елемента до даного відсоткового значення над базовою лінією батьківського елемента, причому значення є відсотками від значення властивості
line-height. Дозволені від'ємні значення.
Відносні до строю значення
Наступні значення відносно шикують елемент відносно всього строю:
topШикує верх елемента і його нащадки до верху всього строю.
bottomШикує низ елемента і його нащадків до низу всього строю.
Для елементів, що не мають базової лінії, натомість застосовується край нижнього зовнішнього поля.
Значення для комірок таблиці
baseline(а такожsub,super,text-top,text-bottom,<length>і<percentage>)Шикують базову лінію комірки до базової лінії всіх решти комірок ряду, що шиковані за базовою лінією.
topШикує край верхнього внутрішнього відступу комірки до верху ряду.
middleЦентрує рамки внутрішнього відступу комірки в межах ряду.
bottomШикує нижній край внутрішнього відступу комірки до низу ряду.
Дозволені від'ємні значення.
Формальне визначення
| Початкове значення | baseline |
|---|---|
| Успадковується | ні |
| Обчислене значення | for percentage and length values, the absolute length, otherwise the keyword as specified |
Формальний синтаксис
baseline | sub | super | text-top | text-bottom | middle | top | bottom | <percentage> | <length>
Приклади
Базовий приклад
HTML
<div>
Зображення
<img src="frame_image.svg" alt="link" width="32" height="32" /> з усталеним
шикуванням.
</div>
<div>
Зображення
<img class="top" src="frame_image.svg" alt="link" width="32" height="32" />
з шикуванням text-top.
</div>
<div>
Зображення
<img class="bottom" src="frame_image.svg" alt="link" width="32" height="32" />
з шикуванням text-bottom.
</div>
<div>
Зображення
<img class="middle" src="frame_image.svg" alt="link" width="32" height="32" />
з шикуванням middle.
</div>
CSS
img.top {
vertical-align: text-top;
}
img.bottom {
vertical-align: text-bottom;
}
img.middle {
vertical-align: middle;
}
Результат
Вертикальне шикування в рядкових рамках
HTML
<p>
top: <img style="vertical-align: top" src="star.png" alt="зірка"/>
middle: <img style="vertical-align: middle" src="star.png" alt="зірка"/>
bottom: <img style="vertical-align: bottom" src="star.png" alt="зірка"/>
super: <img style="vertical-align: super" src="star.png" alt="зірка"/>
sub: <img style="vertical-align: sub" src="star.png" alt="зірка"/>
</p>
<p>
text-top: <img style="vertical-align: text-top" src="star.png" alt="зірка"/>
text-bottom: <img style="vertical-align: text-bottom" src="star.png" alt="зірка"/>
0.2em: <img style="vertical-align: 0.2em" src="star.png" alt="зірка"/>
-1em: <img style="vertical-align: -1em" src="star.png" alt="зірка"/>
20%: <img style="vertical-align: 20%" src="star.png" alt="зірка"/>
-100%: <img style="vertical-align: -100%" src="star.png" alt="зірка"/>
</p>
Результат
Вертикальне шикування у комірці таблиці
У цьому прикладі таблиця з одним рядом, що містить шість комірок. Ряд задає усталене значення bottom для vertical-align.
- Кожна з перших чотирьох комірок має власне значення
vertical-align, і ці значення перевизначають значення від ряду. - П'ята комірка не має жодного значення
vertical-align, тому успадковує значення від ряду.
Шоста комірка використовується лише для того, щоб комірки були достатньо високими, аби дія властивості була помітна.
HTML
<table>
<tr class="bottom">
<td class="baseline">baseline</td>
<td class="top">top</td>
<td class="middle">middle</td>
<td>bottom</td>
<td>Стиль ряду</td>
<td>
Ми впевнені, що впровадження продуктів харчування (збільшення асортименту
товарів) критично необхідне для розвитку.
</td>
</tr>
</table>
CSS
table {
margin-left: auto;
margin-right: auto;
width: 80%;
}
table,
th,
td {
border: 1px solid black;
}
td {
padding: 0.5em;
font-family: monospace;
}
.bottom {
vertical-align: bottom;
}
.baseline {
vertical-align: baseline;
}
.top {
vertical-align: top;
}
.middle {
vertical-align: middle;
}
Result
Специфікації
| Специфікація |
|---|
|
Cascading Style Sheets Level 2 Revision 1 (CSS 2.1) Specification (CSS 2.1) # propdef-vertical-align |
Сумісність із браузерами
| desktop | mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
vertical-align
|
Chrome Full support 1 | Edge Full support 12 | Firefox Full support 1 | Internet Explorer Full support 4 | Opera Full support 4 | Safari Full support 1 | WebView Android Full support 1 | Chrome Android Full support 18 | Firefox for Android Full support 4 | Opera Android Full support 14 | Safari on iOS Full support 1 | Samsung Internet Full support 1.0 |