line-height — CSS | MDN
Свойство CSS line-height
устанавливает величину пространства между строками, например в тексте. В блочных элементах оно указывает минимальную высоту блоков строк внутри элемента. В незамещаемых внутристрочных элементах —указывает высоту, которая используется для вычисления высоты блоков строк.
/* 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: unset;
Свойство line-height
задаётся с помощью:
<числа>
<величины>
<процентного соотношения>
- ключевого слова
normal
.
Значения
normal
Зависит от пользовательского браузера.
1.2
, в зависимости от элементовfont-family
.<число> (без именования)
Значением
line-height
будет результат умножения указанного числа (без именования) на размер шрифта элементов. Указанное число, по сути, множитель. В большинстве случаев это предпочтительный способ указания значенияline-height
, потому что позволяет избежать непредвиденных результатов при наследовании.<величина>
Указанная
<величина>
используется при вычислении высоты блока строки. Значение, заданное в единицах em может привести к непредвидимым результатам (смотри пример ниже).<процентное соотношение>
Относительно размера шрифта самого элемента.Relative to the font size of the element itself. The computed value is this
<percentage>
multiplied by the element’s computed font size. Percentage values may produce unexpected results (see the second example below).
Формальный синтаксис
line-height =
normal | (en-US)
<number> | (en-US)
<length-percentage>"><length-percentage> =
<length> | (en-US)
<percentage>
Basic example
/* All rules below have the same resultant line height */ div { line-height: 1.2; font-size: 10pt; } /* number */ div { line-height: 1.2em; font-size: 10pt; } /* length */ div { line-height: 120%; font-size: 10pt; } /* percentage */ div { font: 10pt/1.2 Georgia,"Bitstream Charter",serif; } /* font shorthand */
It is often more convenient to set line-height
by using the font
shorthand as shown above, but this requires the font-family
property to be specified as well.
Prefer unitless numbers for line-height values
This example shows why it is better to use <number>
values instead of <length>
values. We will use two <div>
elements. The first, with the green border, uses a unitless line-height
value. The second, with the red border, uses a line-height
value defined in em
s.
CSS
.green { line-height: 1.1; border: solid limegreen; } .red { line-height: 1.1em; border: solid red; } h2 { font-size: 30px; } .box { width: 18em; display: inline-block; vertical-align: top; font-size: 15px; }
HTML
<div> <h2>Avoid unexpected results by using unitless line-height.</h2> length and percentage line-heights have poor inheritance behavior ... </div> <div> <h2>Avoid unexpected results by using unitless line-height.</h2> length and percentage line-heights have poor inheritance behavior . .. </div> <!-- The first <h2> line-height is calculated from its own font-size (30px × 1.1) = 33px --> <!-- The second <h2> line-height results from the red div's font-size (15px × 1.1) = 16.5px, probably not what you want -->
Result
Specification | Status | Comment |
---|---|---|
CSS Transitions Определение ‘line-height’ в этой спецификации. | Рабочий черновик | Defines line-height as animatable. |
CSS Level 2 (Revision 1) Определение ‘line-height’ в этой спецификации. | Рекомендация | No change. |
CSS Level 1 Определение ‘line-height’ в этой спецификации. | Рекомендация | Initial definition. |
Начальное значение | normal |
---|---|
Применяется к | все элементы. Это также применяется к ::first-letter и ::first-line . |
Наследуется | да |
Проценты | относятся к размеру шрифта самого элемента |
Обработка значения | для процентов и значений длин, абсолютной длины, если другое не указано |
Animation type | число или длина |
BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.
font
,font-size
Found a content problem with this page?
- Edit the page on GitHub.
- Report the content issue.
- View the source on GitHub.
Want to get more involved?
Learn how to contribute.
This page was last modified on by MDN contributors.
line-height | CSS | WebReference
Для блочных элементов определяет минимальную высоту строки текста. Для внедряемых строчных элементов (вроде <img>) свойство line-height не оказывает никакого эффекта. Для остальных строчных элементов line-height задаёт высоту, которая используется для расчёта высоты строки блока.
Краткая информация
Значение по умолчанию | normal |
---|---|
Наследуется | Да |
Применяется | Ко всем элементам |
Анимируется | Да |
Синтаксис
line-height: <множитель> | <размер> | <проценты> | normalСинтаксис
Описание | Пример | |
---|---|---|
<тип> | Указывает тип значения. | <размер> |
A && B | Значения должны выводиться в указанном порядке. | <размер> && <цвет> |
A | B | Указывает, что надо выбрать только одно значение из предложенных (A или B). | normal | small-caps |
A || B | Каждое значение может использоваться самостоятельно или совместно с другими в произвольном порядке. | width || count |
[ ] | Группирует значения. | [ crop || cross ] |
* | Повторять ноль или больше раз. | [,<время>]* |
+ | Повторять один или больше раз. | <число>+ |
? | Указанный тип, слово или группа не является обязательным. | inset? |
{A, B} | Повторять не менее A, но не более B раз. | <радиус>{1,4} |
# | Повторять один или больше раз через запятую. |
Значения
Любое число больше нуля воспринимается как множитель от размера шрифта текущего текста. Например, значение 1. 5 устанавливает полуторный межстрочный интервал. В качестве значений принимаются также любые единицы длины, принятые в CSS — пиксели (px), дюймы (in), пункты (pt) и др. Разрешается использовать процентную запись, в этом случае за 100% берётся высота шрифта.
- normal
- Расстояние между строк вычисляется автоматически.
Песочница
Винни-Пух был всегда не прочь немного подкрепиться, в особенности часов в одиннадцать утра, потому что в это время завтрак уже давно окончился, а обед ещё и не думал начинаться. И, конечно, он страшно обрадовался, увидев, что Кролик достаёт чашки и тарелки.
div { line-height: {{ playgroundValue }}; }
Пример
<!DOCTYPE html> <html> <head> <meta charset=»utf-8″> <title>line-height</title> <style> h2 { line-height: 70%; } p { line-height: 1.5; } </style> </head> <body> <h2>Нормальный постулат: алгебра или наибольшее и наименьшее значения функции?</h2> <p>Эпсилон окрестность, исключая очевидный случай, поддерживает комплексный интеграл по бесконечной области.Результат данного примера показан на рис. 1.
Рис. 1. Применение свойства line-height
Объектная модель
Объект.style.lineHeight
Примечание
Internet Explorer до версии 7.0 неправильно вычисляет высоту строк для изображений и элементов форм.
Спецификация
Спецификация | Статус |
---|---|
CSS Transitions | Рабочий проект |
CSS Level 2 (Revision 1) | Рекомендация |
CSS Level 1 | Рекомендация |
- Recommendation (Рекомендация) — спецификация одобрена W3C и рекомендована как стандарт.
- Candidate Recommendation (Возможная рекомендация) — группа, отвечающая за стандарт, удовлетворена, как он соответствует своим целям, но требуется помощь сообщества разработчиков по реализации стандарта.
- Proposed Recommendation (Предлагаемая рекомендация) — на этом этапе документ представлен на рассмотрение Консультативного совета W3C для окончательного утверждения.
- Working Draft (Рабочий проект) — более зрелая версия черновика после обсуждения и внесения поправок для рассмотрения сообществом.
- Editor’s draft (Редакторский черновик) — черновая версия стандарта после внесения правок редакторами проекта.
- Draft (Черновик спецификации) — первая черновая версия стандарта.
Браузеры
4 | 12 | 1 | 7 | 1 | 1 |
1 | 1 | 6 | 1 |
В таблице браузеров применяются следующие обозначения.
- — элемент полностью поддерживается браузером;
- — элемент браузером не воспринимается и игнорируется;
- — при работе возможно появление различных ошибок, либо элемент поддерживается с оговорками.
Число указывает версию браузреа, начиная с которой элемент поддерживается.
Текст и шрифт
Рецепты
- Как задать расстояние между пунктами списка?
CSS: можно ли установить межстрочный интервал без высоты строки?
Задавать вопрос
спросил
Изменено 5 лет, 3 месяца назад
Просмотрено 1к раз
Я знаю о line-height
свойство и все самое интересное, что мы можем с ним сделать, но можно ли настроить межстрочный интервал каким-то другим способом?
В Adobe InDesign, например, высота строки и межстрочный интервал — это два отдельных свойства, которые можно настраивать независимо друг от друга.
Прямо сейчас я работаю над дизайном, используя очень хороший Garamond, но настройка высоты строки на хороший разборчивый уровень также делает такие вещи, как ссылки и подчеркивания, очень уродливыми. Простые подчеркивания с text-decoration
выглядят нормально, но в идеале я хотел бы иметь возможность сделать подчеркивания более визуально ошеломляющими и интерактивными, как на веб-сайте HuffPost. Они используют коробка-тень
. Тень блока, нижняя граница и все подобное будут привязаны к нижней части высоты строки.
Можем ли мы иметь оба с CSS?
ПРИМЕР:
Обычное подчеркивание с использованием text-decoration: underline;
Граница «подчеркнута» с использованием border-bottom: 1px сплошная $special-blue;
На мой взгляд, слишком далеко от текста. Даже при умеренно консервативной высоте строки 1.4rem
8
Я нашел это решение, где вы можете установить высоту строки на 1 для этого конкретного элемента. Это сбрасывает высоту строки для этого элемента, но не влияет ни на что другое в этой строке.
, делая вот так,
p. new a{ текстовое оформление: нет; дисплей: встроенный блок; нижняя граница: 1px сплошной зеленый; высота строки: 1; }
JS Fiddle
Я считаю, что нет двух разных свойств для высоты строки и интервала.
Зарегистрируйтесь или войдите в систему
Зарегистрируйтесь с помощью Google
Зарегистрироваться через Facebook
Зарегистрируйтесь, используя электронную почту и пароль
Опубликовать как гость
Электронная почта
Требуется, но не отображается
Опубликовать как гость
Электронная почта
Требуется, но не отображается
Интервал между строками HTML/CSS[2 ответа] Задавать вопрос
спросил
Изменено 1 год, 3 месяца назад
Просмотрено 470 раз
У меня есть следующие два фрагмента кода с веб-сайта, с которым я возился. Я пытаюсь внести изменения в линии, и я изо всех сил пытаюсь это сделать. Идея состоит в следующем:
«Javascript»
4+ года
«HTML»
3+ года
и т. д., но без добавления межстрочного интервала между годами и языком программирования, другими словами, только междустрочный интервал между каждым языком программирования. Я думал об использовании тега pre, но это только усугубляет ситуацию.
Редактировать: Пожалуйста, попробуйте предоставить решение, которое не потребует 20 столбцов div/оберток или испортит позиционирование столбцов. Спасибо!
HTML:
<дел> Python – 2 годаЯзыки программирования
Java более 4 лет
SQL - 2+ года
JavaScript – 2 года
Инструменты
C# — от 1 года
C++ - 1 год
CSS ~ 1 год
Баш ~ 1 год