CSS ems总是代表字体大小吗?

时间:2008-09-27 18:54:57

标签: css em

据我所知,CSS中的em关键字表示字体的当前大小。

因此,如果你输入1.2 em,则意味着120%的字体高度。

虽然em用于设置像YUI网格那样的div等宽度,但似乎不正确:

margin-right:24.0769em;*margin-right:23.62em;

每当我读到他们的时候,我都会忘记它的真实含义。

我希望有人可以向我解释一下,所以它坚持到我的脑海里。

6 个答案:

答案 0 :(得分:11)

历史上它是字体中“M”的宽度。由此得名! 在CSS2.1中,defined与font-size相同。

在许多情况下,使用em而不是点或像素似乎更自然,因为它与字体大小有关。例如,您可以将文本列定义为宽度为40em。如果您以后决定更改字体大小,则该列仍将保持每行相同的字母数。

答案 1 :(得分:4)

传统上,em是大写字母M的宽度。但实际上,em是字体的磅值。

em dash versus en dash

答案 2 :(得分:3)

它确实意味着字体的大小,但将其用于宽度/高度对于创建使用font-size缩放的设计非常有用。现在大多数浏览器都可以进行全页缩放,这变得越来越不实用。在他们只能改变文本大小之前,使用em作为宽度/高度也可以允许这些元素进行缩放。

答案 3 :(得分:1)

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;">

This editor让我记住它(关于它是如何工作的)。

答案 4 :(得分:0)

他们正在重新计算em的精确像素值,以使其可扩展。

例如,请参阅此on-line calculator

答案 5 :(得分:0)

如果您使用的是ems:How to size text using ems

中指定的大小,那么本文非常有用