После двух замечательных ответов, объясняющих поведение элементов inline-block (Почему этот элемент встроенного блока нажат вниз? и почему высота линии span бесполезна.) У меня все еще есть два необъяснимых вопроса.
1.. Какова причина изменения базовой линии элемента inline-block от базовой линии его строки до края нижнего края?
http://www.w3.org/TR/CSS2/visudet.html#leading
Базовый уровень "встроенного блока" является базовым значением его последнего строкового поля в нормальном потоке, если он не имеет никаких строк в потоке или если его свойство "переполнения" имеет вычисленное значение, отличное от "видимого" ', в этом случае базовая линия - это край нижнего края.
2. Как вычислить этот сдвиг?
Важно: Я не пытаюсь найти решение, как его исправить. Я пытаюсь понять, в чем причина изменения поведения позиционирования элемента inline-block при его применении overflow: hidden. Так что, пожалуйста, не отправляйте ответы на макеты.
UPDATE
К сожалению, я не получил того, чего хочу, хотя принял ответ. Я думаю, проблема в самих вопросах. Что касается первого вопроса: я хотел понять, почему inline-block не может сохранить базовую линию своей строки, даже если она имеет overflow:hidden (несмотря на спецификацию W3C, конечно). Я хотел услышать проектные решения, а не просто нужно что-то сказать, потому что W3C это требует. Вторая. Я хочу получить формулу, в которой мы можем вставить font-size и line-height элемента и получить правильный результат.
В любом случае спасибо кому-нибудь:)
ОБНОВЛЕНИЕ 2
К счастью и субъективно ответ найден! См. Первый повторный ответ. Спасибо, @pallxk!)






