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

时间:2020-03-06 14:49:45  来源:igfitidea点击:

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

因此,如果我们输入1.2 em,则表示字体高度的120%。

尽管em用于设置div的宽度(例如YUI网格),这似乎并不正确:

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

每次阅读有关em的内容时,我都会忘记它的真正含义。

我希望有人可以向我解释,以便它贴在我的头上。

解决方案

它的确表示字体的大小,但是将其用于宽度/高度对于创建按字体大小缩放的设计很有用。现在,由于大多数浏览器都可以进行全页缩放,因此此功能已不再有用。在只能更改文本大小的时候,使用em作为宽度/高度将允许这些元素也进行缩放。

他们正在重新计算确切的像素值以使它们具有可扩展性。

例如,请参见此在线计算器。

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

破折号和破折号。

从历史上看,它是字体中" M"的宽度。由此得名!
在CSS2.1中,它定义为与font-size相同。

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

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

这个编辑器对我而言(关于它的工作方式)牢记在心。

如果我们使用的是ems中指定的大小,那么本文将非常有用:如何使用ems设置文本大小