
Расстояние между строк, или интерлиньяж, напрямую влияет на читаемость текста на веб-странице. В CSS его задают с помощью свойства line-height. Значение можно указать числом без единиц, пикселями, процентами или относительными единицами, такими как em и rem. Например, line-height: 1.5; увеличивает высоту строки в 1,5 раза относительно размера шрифта.
Использование пикселей удобно для точного контроля: line-height: 24px; задаст фиксированную высоту строк, что полезно для заголовков и кнопок. В текстовых блоках лучше применять относительные единицы, чтобы интерлиньяж автоматически масштабировался при изменении размера шрифта и сохранял пропорции на разных устройствах.
Свойство line-height наследуется дочерними элементами, но иногда требуется отдельная настройка для параграфов, списков и заголовков. Например, в списках ul и ol слишком маленький интерлиньяж делает пункты слипающимися, а слишком большой создает визуальную разобщенность. Настройка каждого блока отдельно позволяет добиться равномерного восприятия текста.
Для гибкого управления интервалами стоит использовать CSS-переменные. Например, —line-gap: 1.6; и последующее применение line-height: var(—line-gap); упрощает изменение расстояния между строк на всей странице и ускоряет работу при редизайне.
Использование свойства line-height для текста

Свойство line-height определяет вертикальное расстояние между базовыми линиями текста. Значение может быть числовым без единиц, процентным или в пикселях. Число без единиц, например line-height: 1.6;, умножается на размер шрифта элемента, создавая пропорциональный интерлиньяж, который сохраняется при изменении размера текста.
При указании в пикселях, например line-height: 24px;, строки получают фиксированную высоту. Это удобно для блоков с конкретным дизайном, где важно точное позиционирование элементов. Для адаптивного текста и мобильных экранов предпочтительнее использовать относительные значения, чтобы интервал автоматически подстраивался под размер шрифта.
Для текста в параграфах рекомендуются значения 1.4–1.6, обеспечивающие комфортное чтение. В заголовках можно использовать меньшее расстояние, например 1.2–1.3, чтобы сохранить визуальную компактность. Также важно учитывать наследование свойства: дочерние элементы получают line-height родителя, поэтому отдельная настройка заголовков и списков позволяет корректировать визуальное восприятие.
Совмещение line-height с размером шрифта и межстрочными отступами через margin и padding позволяет точно управлять плотностью текста и предотвращает наложение строк в сложных макетах.
Отличия единиц измерения: px, em, rem и %

Свойство line-height можно задавать в пикселях (px), относительных единицах (em, rem) и процентах. Пиксели задают точную высоту строки, например line-height: 24px; гарантирует одинаковый интервал на всех устройствах, но не масштабируется при изменении шрифта.
Единица em зависит от размера шрифта текущего элемента. Например, line-height: 1.5em; создаст высоту строки 1,5 раза больше размера шрифта элемента, что удобно для вложенных блоков с разными размерами текста.
Единица rem ориентируется на размер шрифта корневого элемента <html>. Значение line-height: 1.6rem; сохраняет одинаковый интерлиньяж на всей странице независимо от локального размера шрифта, что облегчает поддержку глобального дизайна.
Процентные значения интерпретируются относительно текущего размера шрифта. Например, line-height: 150%; соответствует 1,5-кратному увеличению высоты строки. Этот способ удобен для текстов с адаптивным размером, когда требуется пропорциональное масштабирование интервалов.
Задаем интерлиньяж для заголовков и параграфов отдельно

Для заголовков и параграфов часто требуется разный интерлиньяж. Заголовки лучше делать более компактными, чтобы текст выглядел плотным, а параграфы – просторными для удобного чтения. Пример настройки через CSS:
| Элемент | line-height | Комментарий |
|---|---|---|
| h1, h2, h3 | 1.2–1.3 | Компактный интервал, сохраняет визуальную плотность |
| p | 1.4–1.6 | Пропорциональный интервал, улучшает читаемость длинного текста |
| li | 1.3–1.5 | Разделяет пункты списков, не создавая пустого пространства |
Отдельная настройка позволяет учитывать наследование line-height: без явного указания заголовки могут унаследовать интервал параграфов, что создаст негармоничное оформление. Настройка каждого типа текста обеспечивает визуальное равновесие и улучшает восприятие контента.
Наследование line-height в разных тегах

Свойство line-height наследуется дочерними элементами. Если задать, например, body { line-height: 1.5; }, все параграфы и списки по умолчанию будут использовать этот интервал, если не указано другое значение.
При использовании относительных значений, таких как число без единиц (1.5) или процент, дочерние элементы умножают этот коэффициент на свой размер шрифта. Это позволяет сохранять пропорции при увеличении или уменьшении текста в блоке.
Абсолютные значения в пикселях (px) не изменяются при наследовании, что может создавать разрыв между разными элементами текста. Например, h2 { line-height: 28px; } поверх body { line-height: 1.5; } даст фиксированный интервал, не зависящий от размера шрифта заголовка.
Для точного контроля над макетом рекомендуется комбинировать наследуемые значения для текста и отдельные настройки для заголовков и списков. Это позволяет выравнивать визуальные блоки и избегать нежелательного слияния строк в сложных макетах.
Регулировка расстояния в списках ul и ol

Для списков ul и ol важен правильный интерлиньяж, чтобы пункты не сливались и оставались читабельными. Настройку можно проводить через line-height и дополнительные отступы:
- Использование line-height для отдельных пунктов: li { line-height: 1.4; } создаёт удобный вертикальный интервал без лишнего пространства.
- Совмещение с margin: li { margin-bottom: 0.5em; } добавляет визуальное разделение между пунктами.
- Разные интервалы для вложенных списков: вложенные ul или ol можно сделать более компактными, например line-height: 1.2;, чтобы не увеличивать общий блок.
Для длинных списков полезно применять единообразный интерлиньяж по всей странице, чтобы избежать резких перепадов и сохранить структуру текста. В сочетании с размером шрифта это обеспечивает удобное чтение и визуальную иерархию.
Изменение высоты строки для ссылок и кнопок
Высота строки в интерактивных элементах, таких как ссылки и кнопки, влияет на визуальное восприятие и удобство клика. Настройка интерлиньяжа помогает избежать сжатия текста и улучшить доступность.
- Для однострочных ссылок часто достаточно line-height: 1; или чуть больше, чтобы текст оставался компактным, но не сливался с соседними элементами.
- Для кнопок с несколькими строками текста рекомендуется использовать line-height: 1.4–1.6, чтобы строки не перекрывали друг друга и сохраняли равномерный отступ.
- Комбинация line-height с padding сверху и снизу позволяет выровнять текст по центру кнопки и расширить область клика без изменения размера шрифта.
- При использовании шрифтов с высоким x-height желательно увеличивать line-height на 0.1–0.2 относительно стандартного, чтобы текст выглядел сбалансированно.
Регулировка интерлиньяжа для интерактивных элементов повышает читаемость, предотвращает наложение строк и улучшает восприятие интерфейса на разных устройствах.
Комбинация line-height с padding и margin

Свойство line-height регулирует расстояние между строками, но для точного позиционирования текста часто используют padding и margin. Это позволяет создавать визуально сбалансированные блоки и предотвращать слияние строк с соседними элементами.
Пример настройки параграфа:
p { line-height: 1.5; padding: 0.5em 0; margin-bottom: 1em; }
Здесь line-height отвечает за интерлиньяж, padding добавляет внутреннее пространство, а margin-bottom отделяет блок от следующего элемента. Такой подход обеспечивает четкую структуру текста и облегчает восприятие информации.
Для заголовков и кнопок рекомендуется уменьшать margin и padding, сохраняя line-height чуть меньше, например 1.2–1.3, чтобы сохранить компактность, но при этом не допустить наложения строк. В сложных макетах комбинация этих свойств позволяет выравнивать текст и элементы по сетке.
Использование переменных CSS для управления интервалами

CSS-переменные позволяют централизованно управлять интерлиньяжем на всей странице. Например, можно создать переменную —line-gap и использовать её для всех блоков текста:
:root { —line-gap: 1.5; }
p, li { line-height: var(—line-gap); }
Изменив значение —line-gap в одном месте, автоматически обновятся интервалы во всех элементах, использующих переменную. Это удобно для масштабирования текста на разных устройствах и при редизайне макета.
Переменные особенно полезны при работе с компонентной структурой, где одни и те же блоки повторяются. Например, для заголовков можно создать отдельную переменную —heading-line-gap: 1.3; и применять её к h1–h6, сохраняя пропорции между заголовками и параграфами без ручного редактирования каждого элемента.
Комбинация переменных с относительными единицами, такими как em или rem, позволяет добиться адаптивного интерлиньяжа, который сохраняет визуальное равновесие при увеличении или уменьшении шрифта.
Вопрос-ответ:
Как правильно выбрать единицу для line-height: px, em, rem или %?
Пиксели дают фиксированную высоту строк и подходят для элементов с точной версткой, например кнопок или заголовков. Единицы em зависят от размера шрифта текущего элемента, что удобно для вложенных блоков. Rem ориентируется на корневой размер шрифта и сохраняет одинаковый интервал на всей странице. Проценты работают аналогично числовым коэффициентам и подстраиваются под размер шрифта элемента. Для адаптивного текста лучше использовать относительные единицы, а для фиксированных блоков — px.
Можно ли задать разное расстояние между строк для заголовков и параграфов на одной странице?
Да, для заголовков и параграфов можно использовать разные значения line-height. Например, для заголовков подойдет 1.2–1.3, чтобы текст был компактным, а для параграфов — 1.4–1.6 для удобного чтения. Такой подход учитывает наследование свойства и позволяет избежать негармоничного визуального оформления.
Как line-height взаимодействует с margin и padding?
Line-height регулирует расстояние между строками, а margin и padding добавляют внешние и внутренние отступы блока. Например, для параграфа можно задать line-height: 1.5, padding: 0.5em 0 и margin-bottom: 1em. Это создаёт читаемую структуру текста, разделяет блоки и предотвращает слипание строк. Для заголовков обычно уменьшают padding и margin, сохраняя line-height чуть меньше, чтобы текст оставался компактным.
Почему line-height наследуется, и как это влияет на текст?
Line-height наследуется дочерними элементами. Если задать значение для body, все параграфы и списки по умолчанию будут использовать этот интервал. При числовых коэффициентах интерлиньяж адаптируется под размер шрифта каждого элемента, при пикселях — остаётся фиксированным. Для заголовков и списков рекомендуется задавать отдельные значения, чтобы избежать слияния строк и сохранить визуальное равновесие.
Как использовать CSS-переменные для управления интервалами между строк?
Можно создать переменную, например —line-gap: 1.5;, и применять её через line-height: var(—line-gap); для параграфов, списков и заголовков. При изменении значения переменной автоматически обновятся интервалы во всех элементах. Для заголовков удобно использовать отдельную переменную, например —heading-line-gap: 1.3;, чтобы сохранить пропорции между текстовыми блоками и обеспечить единообразие оформления по всей странице.
Почему в некоторых списках строки слипаются, даже если я указал line-height?
Даже при заданном line-height строки могут сливаться, если одновременно не учтены отступы между элементами списка. Свойство line-height управляет только высотой строки внутри элемента, но пункты списка разделяются с помощью margin или padding. Например, можно задать li { line-height: 1.4; margin-bottom: 0.5em; }, чтобы создать визуальное разделение. Также стоит проверить наследование: если parent-элемент имеет line-height, дочерние li могут наследовать его, и для вложенных списков нужно устанавливать отдельное значение, чтобы избежать наложения строк.
