Несколько вопросов о высоте строки - PullRequest
1 голос
/ 29 апреля 2010

что по умолчанию line-height в таких браузерах, как font-size, равно 16px?

для каких элементов HTML я должен определить line-height, а для каких нет?

Какова причина для того, чтобы задать высоту строки body { }?

Будет ли line-height влиять на однострочный текст?

Если я использую шрифт в em, тогда я должен также использовать использование line-height в em?

Что такое взаимосвязь между line-height и font-size?

Ответы [ 3 ]

1 голос
/ 29 апреля 2010

По моему опыту, общая высота строки по умолчанию кажется близкой к 1,2 (это будет ~ 19px для шрифта 16px (16 * 1.2)). В некоторых версиях браузеров он составляет около 1,1, но я не помню, чтобы когда-либо видел его за пределами этой области.

Свойство line-height наследуется от родителя к потомку - поэтому указание line-height в <body> повлияет на все элементы на странице, кроме те, которые имеют собственное свойство line-height множество и их потомки. (См. Пример ниже)

Высота строки влияет на высоту, занимаемую каждым символом - так что да, это также влияет на элементы из одной строки текста.

Line-height выпускается в трех основных вариантах:

  1. «относительный» / «безразмерный» (например, 1.2)
  2. «фиксированный» (например, 14px)
  3. «фиксированный относительный» (например, 1.2em)

Относительные (безразмерные) значения будут применять пропорционально эквивалентную высоту строки ко всем элементам в зависимости от их размера шрифта. Между тем, фиксированные значения (px) не меняются в зависимости от размера шрифта.

Для объяснения варианта «фиксированный относительный» (значения «em») обратитесь к сообщению Эрика Мейера в блоге « Unitless Line-Heights ».

Каждый аромат имеет свое место в мире. : -)

Вот краткий пример всех трех:

body {
  font-size: 12px;
  line-height: 1.5;
}
small {
  font-size: 10px;
}
div {
  line-height: 21px;
}
p {
  line-height: 2em;
}

...

<body>
  one
  <small>two</small>
  <div>
    three
    <small>four</small>
  </div>
  <p>
    five
    <small>six</small>
  </p>
</body>

Каждое слово в приведенном выше примере будет иметь следующие значения высоты строки (переведено в px)

  • 'one' == 18px (в 1,5 раза больше 12px font-size из body)
  • 'two' == 15px (в 1,5 раза больше 10px font-size из small)
  • 'three' == 21px (фиксированное px значение)
  • 'four' == 21px (наследует фиксированное значение px от div)
  • 'Five' == 24px (в 2 раза больше 12px font-size из p (наследуется от body))
  • 'six' == 24px (наследует (фиксированное) предварительно вычисленное значение от p)
0 голосов
/ 29 апреля 2010

Высота строки - это просто высота строки текста, но она также применяется к элементам, стиль отображения которых inline.

Это эквивалентно ведущему в типографии печати. Как правило, вам нужно немного места между строками текста, и часто вы будете видеть сайты, применяющие общую высоту строки 1,4 или 1,2. Значение 1.4 означает, что они хотят, чтобы высота строки составляла 140% от высоты текста. Если высота строки установлена ​​(или оставлена ​​на 1), то могут произойти странные вещи. Когда вы видите курсивное слово, смещающее целую строку (делая его неравномерным), вот что произошло.

0 голосов
/ 29 апреля 2010

Как правило, высота строки по умолчанию составляет около 1.1em (что относительно размера шрифта, используемого элементом.

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

Если требуется, чтобы текст в теге имел указанную высоту строки

Не понимаю этот вопрос

Только если вам нужно.

Если вы используете em для указания высоты строки, высота будет пропорциональна размеру шрифта.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...