Я заметил, что теги ‹button›, похоже, масштабируют единицы em от чего-то другого, кроме font-size. Теги ‹div› не демонстрируют такого поведения. Это происходит в последних версиях Chrome, Firefox и т. Д.
Оба они имеют такой стиль:
button, div {
width: 3rem;
height: 3em;
}
См. Пример этой скрипки.
Если я задаю размер div и кнопки шириной 3rem и высотой 3em, я ожидаю, что они будут квадратными, если только на один из них или на предка не влияет стиль размера шрифта. Единственный размер шрифта указан в теге ‹body›, но происходит то, что div имеет квадратную форму, но кнопка имеет меньшую высоту, чем ее ширина.
Если я проверяю кнопку в хроме, там говорится, что она наследует размер шрифта 1em от тега ‹body›, и все же проблема устраняется, когда я явно устанавливаю размер шрифта 1em (см. Скрипт).
Может ли кто-нибудь объяснить мне, что здесь происходит? Такое чувство, что я упускаю что-то очевидное.