Когда элемент 1em применяется к элементу, он принимает значение по умолчанию браузера (обычно 16 пикселей) или значение размера шрифта его родителя, верно?
Нет,он принимает его собственный font-size
, вычисленный на основе его родителя (или значения, предоставленного браузером по умолчанию).Поскольку предоставляемый браузером font-size
из h1
составляет 32 пикселя, результирующее поле составляет 32 пикселя.
Однако, используя что-то вроде font-size: 100%;устраняет несоответствие.
Устанавливая font-size: 100%;
или font-size: 1em;
для элемента, вы указываете ему использовать 100% размера шрифта его родителя, поэтому в качестве значения параметра 1em
длина на что-либо еще будет следовать за этим 100%.