Это ваш оригинальный код:
<div style="line-height: 150%;">
<span style="display: block; font-size: 240%;">Test</span>
</div>
Устанавливает line-height
всех элементов внутри div
на 150%. Этот процент относится к их вычисленному размеру шрифта.
span
наследует font-size
от div
, и line-height
рассчитывается на основании этого.
Вы устанавливаете font-size
из span
в 24 раза больше его унаследованного размера, но line-height
не затрагивается.
Вкратце: line-height: 150%
для вычисления высоты шрифта элемента потребует 150% от вычисленного размера шрифта элемента, что эквивалентно умножению на 1,5.
Как уже упоминалось, использование line-height: 1.5;
вместо этого исправляет это поведение:
<div style="line-height: 1.5;">
<span style="display: block; font-size: 240%;">Test</span>
</div>
Это вызывает пересчет line-height
на основе нового размера шрифта.
Он устанавливает line-height
всех элементов внутри div
в 1,5 раза. Этот процент относительно их фактического размера шрифта.
span
наследует font-size
от div
.
Вы устанавливаете font-size
из span
в 2,4 раза больше его унаследованного размера, и на основании этого вычисляется новый line-height
.
Вкратце: line-height: 1.5
(без единиц) умножит фактический размер шрифта элемента на 1.5
для вычисления высоты строки.