Насколько я знаю, ключевое слово em в CSS означает текущий размер шрифта.
Таким образом, если вы поставите 1,2 em, это означает 120% высоты шрифта.
Хотя это кажется неправильным, что em используется для установки ширины div и т. д., Как это делают сетки YUI:
margin-right:24.0769em;*margin-right:23.62em;
Каждый раз, когда я читаю о них, я забываю, что они на самом деле представляют.
Я надеюсь, что кто-нибудь сможет мне это объяснить, чтобы это запало мне в голову, хе.






Это действительно означает размер шрифта, но его использование для ширины / высоты полезно для создания дизайнов, масштабируемых с размером шрифта. Теперь это становится менее полезным, поскольку большинство браузеров могут выполнять масштабирование страницы на весь экран. Раньше, когда они могли изменять только размер текста, использование em для ширины / высоты также позволяло масштабировать эти элементы.
Они пересчитывают точные значения пикселей в соответствии с em, чтобы сделать их масштабируемыми.
См., Например, этот он-лайн калькулятор.
Традиционно em - это ширина верхнего регистра M. На практике em - это размер шрифта в пунктах.
Исторически это ширина буквы «М» в шрифте. Отсюда и название! В CSS2.1 определенный совпадает с размером шрифта.
Во многих случаях кажется более естественным использовать em, а не точки или пиксели, потому что это зависит от размера шрифта. Например, вы можете определить текстовый столбец шириной 40 мкм. Если позже вы решите изменить размер шрифта, в столбце останется то же количество букв в строке.
Кстати, люди (ну, Mozilla) рекомендуют ex over em, потому что он лучше отображается в пикселях. См. kb.mozillazine.org/Em_units_versus_ex_units
Размер em пропорционален содержащему его элементу.
Например:
<!-- Browser default size (usually 16px) -->
<div style = "font-size: 1.00em;">
<!-- 150 % of the container's size: 16 + (16/2) = 24 -->
<div style = "font-size: 1.50em;">
Этот редактор помнит об этом (как это работает).
спасибо за «отсюда и название комментария», теперь я надеюсь вспомнить его!