Итак, этот говорит, что font-size
определяет высоту поля, чтобы все буквы (с восходящими и спусками) могли поместиться.
Но почему имеет span
с 40px font-size
и line-height
фактический размер 45px? Если я правильно понял связанный вопрос, тогда "X" должен быть меньше 40 пикселей, но общая высота должна быть ровно 40 пикселей. Я подумал, что, возможно, это делает дополнительную комнату выше/ниже подступников/спусков, но изображение показывает, что восходящие/спусковые крючки занимают все пространство, поэтому не может быть много лишней комнаты:
Когда я обертываю div
(зеленый) вокруг span
, тогда div
имеет высоту 40 пикселей. Почему div
использует font-size
своего дочернего элемента для его высоты, но сам ребенок не работает?:
Теперь, когда я устанавливаю span
line-height
на 15px (меньше, чем font-size
), высота div
изменяется на 26px. Как рассчитывается это значение? Это что-то связано с базовым уровнем?:
Когда я устанавливаю span
line-height
на 65px (больше, чем font-size
), тогда высота div
является высотой line-height
. Я бы ожидал, что высота div
будет чем-то вроде (65px - 45px) + 45px.:
Итак, как font-size
и line-height
влияют на фактические высоты элементов? Я прочитал некоторые вопросы, которые ссылались на спецификацию, но я не мог много сделать. Есть ли какие-либо легко понятные правила?