6

如果我font-sizebody元素上设置 a,那么该大小也会是 1em 吗?

换句话说,如果我这样做:

body {
    font-family: Arial;
    font-size: 16px;
}

我可以确定我使用 1em 的任何地方都等于 16px 吗?

如果上述方法不正确,我还应该如何设置基本字体?

抱歉,如果基本字体不是正确的术语。我不确定这种技术被称为什么。我相信它类似于重置样式表,它会覆盖浏览器的默认样式。

4

3 回答 3

10

您希望实现的目标可以使用 rem 单位来完成。

一个 em 单位是“等于使用它的元素的 'font-size' 属性的计算值”。body在您的情况下,元素上的 1em 将是 16px 。但是,如果您更改font-size任何元素1em上的 ,则该元素上的 将等于该font-size元素的 。如果你使用 ems on font-size,它是相对于font-size父元素的。因此,如果p是 的孩子div,并且font-sizeondiv12px,那么font-size: 1emonp将是12px.

另一方面,a1rem总是等于根元素的 font-size 的计算值。在 HTML 中,这是html元素。因此大小总是一致的。见http://www.w3.org/TR/css3-values/#rem-unit

于 2013-05-28T04:46:21.347 回答
0

如果您font-size为一个元素设置 ,那么(假设将应用您的 CSS 规则)该em单元具有该元素的该值。

你不能改变em它在 CSS 中的含义:它表示使用它的元素的字体大小(除非在font-size声明或font简写中使用,它表示父元素的字体大小)。

设置em为固定值会破坏该单元的目的:它意味着根据上下文和设置而变化。如果您想设置em16px,那么只需使用px单位而不是em单位。如果您认为数字太大,您可以使用pc(pica) 单位:由CSS3 Units和在浏览器实践中使用1pc= 12pt= 16px

于 2013-05-28T07:47:31.473 回答
-1

在定义 font-size 属性时,anem等于应用到相关元素父级的字体大小。如果你没有在页面的任何地方设置字体大小,那么它是浏览器默认的,大概是 16px。

因此,默认情况下1em = 16px2em = 32px。如果你在 body 元素上设置了 20px 的字体大小,那么1em = 20px2em = 40px.

请注意,值 2 本质上是当前 em 大小的乘数。

参考链接

于 2013-05-28T05:19:23.793 回答