Мое основное правило CSS для font-size
и line-height
довольно простое:
body {
font-family: Arial, Helvetica, sans-serif;
font-size: 16px;
line-height: 24px;
}
Когда я создаю абзац, который содержит <em>
или <strong>
(или даже некоторый <code>
, который использует font-size
, отличный от <body>
), я замечаю, что эти элементы увеличивают высоту строки на один или два пикселя.
Это наводит меня на мысль, что большинство браузеров используют самый большой встроенный элемент для отображения line-height
. Это правильно?
Моя цель - сделать line-height
непротиворечивым, независимо от того, какие элементы встроены.
Единственный способ сделать line-height
непротиворечивым - это определить:
em, strong, code, etc {
line-height: 100%;
}
Это правильный путь? Или я слишком перфекционист?
Редактировать 1:
Это также, кажется, работает:
em, strong, code, etc {
line-height: 1;
}
Редактировать 2:
После игры с этим в течение нескольких дней, похоже, не существует надежного решения для сохранения согласованного line-height
. Если у кого-то есть идеи, я бы с удовольствием их услышал.
Редактировать 3:
Для моей будущей справки и из моего собственного исследования эти теги следует рассматривать с line-height: 1
, если они отображаются в виде строки вместе с другим стандартным основным текстом:
abbr, acronym, b, big, cite, code, del, dfn, em, i, ins, kbd, q,
samp, small, strong, sub, sup, tt, var
Эти элементы сомнительны:
a, bdo, img, span