Мое понимание от чтения темы , как этот , что точка Эмса , чтобы определить все измерения в вашей веб - странице, с помощью базового размера шрифта , который может быть установлен в вашем браузере.
Например, в Chrome вы можете сделать это, перейдя settings -> show advanced settings -> web content -> font size: very large
. Я мог бы сделать это, если бы использовал большой монитор с высоким разрешением, который был далеко.
Я создал поршень, который демонстрирует разницу между ems и px в размерах.
#div1 {
width: 320px
}
#div2 {
width: 20em;
}
Если в моем браузере я установлю размер шрифта на средний, эти div-ы будут одинакового размера, базовый размер шрифта будет 16px, поэтому 20em = 320px.
Однако, когда я изменяю размер шрифта моего браузера на очень большой, мы видим, что размер div, измеренный в ems, увеличился.
Однако этот эффект будет отменен, если я, например, определю размер шрифта в теге body.
body {
font-size: 16px;
}
Потому что теперь мой CSS переопределяет размер шрифта, установленный браузером.
Я понимаю, что ems был бы важен во времена старых браузеров, где увеличение страницы только увеличивало шрифты. Но в эти дни современных браузеров масштабироваться до обоего пикселей и шрифты, что делает выпуск зума спорным.
Оглядевшись в Интернете - много сайтов , сделать набор размер шрифта в теле тега.
Например, Stack Overflow устанавливает размер шрифта в 13px в теге body. Установка размера шрифта в моем браузере никак не влияет на макет переполнения стека.
Результаты поиска Google не делают этого.
(оба эти снимки экрана сделаны с очень большим размером шрифта Chrome и 100% увеличением).
Поэтому, возможно, вы могли бы поспорить, что установка размера шрифта в теге body - плохая идея, поскольку она препятствует настройкам специальных возможностей пользователя. Но, учитывая, что пользователь может увеличить масштаб, чтобы увеличить размеры (что также пропорционально увеличит все пиксели) - это не кажется реальной проблемой.
body { font-size: XYZ; }
использование таблицы стилей пользователя с помощьюbody { font-size: ZYX !important; }