У меня есть блок с определенной строкой-высотой, где я вставляю содержимое с псевдоэлементом ::before
.Почему высота увеличивается с меньшим размером шрифта?
.block::before {
content:'text here';
}
Это хорошо работает. Однако, если я также предоставил контент меньшего размера шрифта
.block::before {
font-size:.6em;
content:'text here';
}
блок фактически становится выше. Почему это?
JsFiddle. Верхняя строка не имеет изменений размера шрифта, нижняя строка делает.
Теперь я выяснил, что возможным решением является установка line-height
псевдоэлемента на 0
. Или до 1em
. Или даже до normal
. Так, что происходит? Установлен ли line-height
на какое-то странное значение, установив размер шрифта на .6em
? Зачем?
PS Хотя это похоже на дубликат (см. Список справа), ни один из ответов, которые я прочитал до сих пор, не объясняет, почему настройка line-height:normal
решает проблему. Должно быть что-то происходит, что непрямо задает высоту строки для большего значения. И это то, что я пытаюсь выяснить.
Да, это объясняет вещи. Мне потребовалось некоторое время, чтобы понять, как работает математика, поэтому мне пришлось сделать несколько снимков, чтобы сделать их более ясными. См. Мой собственный ответ. –
Да, я начал составлять диаграмму, но не хватило времени. В любом случае, вы сделали намного лучшую работу, чем я делал. Я проголосовал за ваш ответ. – Alohci