Margin и padding используя их - PullRequest
       18

Margin и padding используя их

17 голосов
/ 29 февраля 2012

Когда 1em применяется к элементу, он принимает значение по умолчанию браузера (обычно 16px) или значение размера шрифта его родителя, верно?Но я заметил, что если я использую что-то вроде margin-top: 1em в элементе h1 (без использования таблицы стилей сброса и, следовательно, h1 устанавливается на font-size: 32px), то 1em равно 32px, даже если его родительдля элемента установлено значение font-size: 16px.

Однако используется что-то вроде font-size: 100%;решает несоответствие.

Чего мне не хватает?

Ответы [ 2 ]

13 голосов
/ 29 февраля 2012

Когда элемент 1em применяется к элементу, он принимает значение по умолчанию браузера (обычно 16 пикселей) или значение размера шрифта его родителя, верно?

Нет,он принимает его собственный font-size, вычисленный на основе его родителя (или значения, предоставленного браузером по умолчанию).Поскольку предоставляемый браузером font-size из h1 составляет 32 пикселя, результирующее поле составляет 32 пикселя.

Однако, используя что-то вроде font-size: 100%;устраняет несоответствие.

Устанавливая font-size: 100%; или font-size: 1em; для элемента, вы указываете ему использовать 100% размера шрифта его родителя, поэтому в качестве значения параметра 1emдлина на что-либо еще будет следовать за этим 100%.

10 голосов
/ 29 февраля 2012

1em равно размеру шрифта рассматриваемого элемента .Поэтому при использовании с полями он будет эквивалентен размеру шрифта элемента, к которому вы применяете поле.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...