有人能够清晰地解释一下CSS中em是什么尺寸单位吗?
当我们在网站中使用em作为尺寸单位时,为什么要使用%来设置body的大小?为什么不也使用em作为body的尺寸单位呢?
有人能够清晰地解释一下CSS中em是什么尺寸单位吗?
当我们在网站中使用em作为尺寸单位时,为什么要使用%来设置body的大小?为什么不也使用em作为body的尺寸单位呢?
在数字类型中,特定字母的高度与em的关系由字体设计师任意设置。但是,作为非常粗略的指南,“平均”字体的大写字母高度可能为em的70%,x高度为em的48%。
还要注意,在CSS标准中:
唯一例外的是“字体大小”属性,其中“em”和“ex”值是指父元素的字体大小。
这个例外很有道理,否则您将得到字体大小的递归定义。
一个常用但错误的定义是它是所讨论字母'M'的宽度。在排版中曾经这样定义过,但现在不再是这样了,对于CSS来说从未如此。事实上,'M'通常比1 em更窄(当然这取决于字体)。
编辑:我被纠正了:在CSS中,它被定义为字体大小,根据Mark Byers的回答。
(最初,它是字母M的宽度。请参见http://en.wikipedia.org/wiki/Em_%28typography%29。比较一下ex,它是x的高度。)
“em”据说代表了1个字母"M"的宽度,但实际上却是当前字体大小。
“em”是相对的,所以如果你这样做:
table { font-size: 2em }
td { font-size: 2em }
中的文本大小将是正文文本的四倍,因为表格的字体大小是正文的两倍,而的字体大小是表格的两倍。
p { margin-bottom: 1em }
段落现在将在其下面插入一个换行符,其高度正好为一行文本的高度。 (字母通常比行短,但您可以理解这个概念。)
'Em' 表示 "当前用户代理正在使用的字体大小的 x 倍".
这意味着,如果访问者使用10pt字体作为默认值,则 1em 等于 10pt,2em 等于 20pt,以此类推。
您可以在这里找到有关不同 CSS 单位的其他信息: http://www.w3schools.com/css/css_units.asp
你已经从现有的答案中对'em'有了一些了解,但没有一个注意到另一件事情。
使用em可以创建所谓的“弹性”化妆品。这意味着,如果您使用em指定所有块的大小,则在用户按下“Ctrl +”(或者在某些浏览器中使用其他组合键来放大字体大小)之后,您的网站将保持其比例。
来自维基百科:
em是排版领域中的一种度量单位。该单位定义了字母宽度和高度与当前字体点大小的比例。最初,该单位源于特定字体中大写字母“M”的宽度。该单位并未以任何特定字体为基础进行定义,因此在给定点大小下,所有字体的em值都相同。因此,在16点字体中,1个em等于16点。