line-height
Baseline Широко доступно
Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна во всех браузерах с июля 2015 года.
Свойство line-height CSS задаёт высоту строки в горизонтальных режимах написания. В вертикальных режимах написания оно задаёт ширину строки. Чаще всего используется для установки расстояния между строками текста. Для блочных элементов в горизонтальных режимах написания оно указывает предпочтительную высоту строк внутри элемента, а для не-заменённых встроенных элементов оно указывает высоту, используемую для вычисления высоты строки.
Попробовать
Синтаксис
/* Keyword value */ line-height: normal; /* Unitless values: use this number multiplied by the element's font size */ line-height: 3.5; /* <length> values */ line-height: 3em; /* <percentage> values */ line-height: 34%; /* Global values */ line-height: inherit; line-height: initial; line-height: revert; line-height: revert-layer; line-height: unset;
Свойство line-height задаётся любым из следующих способов:
- числовое
<number> - числовое
<length> - числовое
<percentage> - ключевое слово
normal.
Значения
normal-
Зависит от пользователя. Браузеры для настольных ПК (включая Firefox) используют значение по умолчанию, примерно равное
1.2, в зависимости отfont-familyэлемента. -
<number>(без единиц) -
Используемое значение — это безразмерное
<number>, умноженное на размер шрифта элемента. Вычисленное значение такое же, как указанное<number>. В большинстве случаев, это предпочтительный способ задатьline-heightи избежать непредвиденных результатов из-за наследования. <length>-
Указанная
<length>используется при вычислении высоты строки. Значения в единицах em могут привести к непредвиденным результатам (см. пример ниже). <percentage>-
Относительно размера шрифта самого элемента. Вычисленное значение — это это
<percentage>, умноженное на вычисленный размер шрифта элемента. Значения в процентах могут привести к непредвиденным результатам (см. второй пример ниже).
Доступность
Используйте минимальное значение 1.5 для line-height основного абзаца контента. Это поможет людям с нарушениями зрения, а также людям с когнитивными проблемами, такими как дислексия. Если масштаб страницы увеличивается для увеличения размера текста, использование безразмерного значения гарантирует, что высота строки будет масштабироваться пропорционально.
Формальное определение
| Начальное значение | normal |
|---|---|
| Применимо к | всем элементам. Также к ::first-letter и ::first-line. |
| Наследуется | да |
| Проценты | относятся к размеру шрифта самого элемента |
| Вычисленное значение | для значений в процентах и длинах — абсолютная длина, иначе — как указано |
| Тип анимации | либо число, либо длина |
Формальный синтаксис
line-height =
normal |
<number [0,∞]> |
<length-percentage [0,∞]>
<length-percentage> =
<length> |
<percentage>
Примеры
Базовый пример
/* All rules below have the same resultant line height */
/* number/unitless */
div {
line-height: 1.2;
font-size: 10pt;
}
/* length */
div {
line-height: 1.2em;
font-size: 10pt;
}
/* percentage */
div {
line-height: 120%;
font-size: 10pt;
}
/* font shorthand */
div {
font:
10pt/1.2 Georgia,
"Bitstream Charter",
serif;
}
Чаще всего удобнее задавать line-height с помощью сокращённого свойства font, как показано выше, но это требует, чтобы также было указано свойство font-family.
Предпочитайте безразмерные числа для значений line-height
Этот пример показывает, почему лучше использовать <number> значения вместо <length> значений. Мы будем использовать два <div> элемента. Первый div с зелёной рамкой использует безразмерное значение line-height. Второй div с красной рамкой использует значение line-height, определённое в em.
HTML
<div class="box green"> <h1>Avoid unexpected results by using unitless line-height.</h1> Length and percentage line-heights have poor inheritance behavior. </div> <div class="box red"> <h1>Avoid unexpected results by using unitless line-height.</h1> Length and percentage line-heights have poor inheritance behavior </div> <!-- The first <h1> line-height is calculated from its own font-size (30px × 1.1) = 33px --> <!-- The second <h1> line-height results from the red div's font-size (15px × 1.1) = 16.5px, probably not what you want -->
CSS
.green {
line-height: 1.1;
border: solid limegreen;
}
.red {
line-height: 1.1em;
border: solid red;
}
h1 {
font-size: 30px;
}
.box {
width: 18em;
display: inline-block;
vertical-align: top;
font-size: 15px;
}
Результат
Расстояние между строками в вертикальных режимах написания
Свойство line-height может использоваться для корректировки расстояния между вертикальными строками в вертикальных режимах написания.
.haiku {
border: 1px solid;
margin-bottom: 1rem;
padding: 0.5rem;
background-color: wheat;
writing-mode: vertical-rl;
}
.wide {
line-height: 2;
}
Результат
Спецификации
Совместимость браузеров
| Рабочий стол | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на IOS | Samsung Internet | WebView Android | |
line-height |
1 | 12 | 1 | 7 | 1 | 18 | 4 | 10.1 | 1 | 1.0 | 4.4 |
normal |
1 | 12 | 1 | 15 | 1 | 18 | 4 | 14 | 1 | 1.0 | 4.4 |
См. также
© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/CSS/line-height