Все замечательно, кроме интерлиньяжа (line-height). Вы ошиблись: проценты будут себя вести так же, как и em.
Для line-height есть еще одно значение — "множитель", т.е. просто число, которое умножается на размер шрифта текущего элемента.
Ситуация, которую вы описали возможна только, если элементу задан размер шрифта, а line-height не задан, но у родительского блока он есть. В таком случае и %, и em будут уже просчитаны в родительском блоке и элемент унаследует фактическое значение. В случае, если line-height родителя задан просто множителем, то элемент унаследует множитель и рассчитает line-height со своим размером шрифта.
Пример для наглядности: https://jsfiddle.net/pwvhj6a3/
Написано
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.
Для line-height есть еще одно значение — "множитель", т.е. просто число, которое умножается на размер шрифта текущего элемента.
Ситуация, которую вы описали возможна только, если элементу задан размер шрифта, а line-height не задан, но у родительского блока он есть. В таком случае и %, и em будут уже просчитаны в родительском блоке и элемент унаследует фактическое значение. В случае, если line-height родителя задан просто множителем, то элемент унаследует множитель и рассчитает line-height со своим размером шрифта.
Пример для наглядности: https://jsfiddle.net/pwvhj6a3/