Поиск / установка значений по умолчанию для css line-height - PullRequest
10 голосов
/ 21 октября 2011

Одна странная вещь, которую я заметил, пытаясь нормализовать мой CSS в разных браузерах, это то, что свойства высоты строки по умолчанию для h-элементов и других основных типов тегов отличаются в разных браузерах, таких как Chrome и Firefox, и все же не устанавливаются на уровень агента пользователя:

Более того, популярные нормализаторы, такие как normalize.css , также не заботятся об этом.

Итак, мой вопрос состоит из двух частей:

  1. Если высоты строки не установлены на уровне пользовательского агента, откуда берутся значения по умолчанию?
  2. Я бы предпочел не нормализовать высоту строки самостоятельно, но если мне нужно, где хороший пример некоторых значений по умолчанию?

1 Ответ

22 голосов
/ 22 октября 2011

Я согласен с тем, что «вещи не должны быть одинаковыми» - это своего рода обман, особенно если учесть, что даже IE работает с довольно хорошими стандартами.

Относительный (120%,1, 1em) значения высоты строки основаны на вычисленном размере шрифта. Предполагается, что значение Normal основано на размере шрифта, но может варьироваться в зависимости от браузера и браузера, что можно увидеть, открыв этот пример в FF и Chrome.: http://jsfiddle.net/mahalie/BSMZe/6/

Я обычно обращаюсь к HTML5 Boilerplate для очередей на лучшие практики, так как он очень популярен (и, следовательно, хорошо проверен / под пристальным вниманием.

body { margin: 0; font-size: 13px; line-height: 1.231; }

И их обсуждение этого вопроса довольно интересно, хотя ни одна перспектива не является явным победителем: https://github.com/h5bp/html5-boilerplate/issues/724

...