在哪里设置基本字体?

时间:2013-05-28 04:28:15

标签: css em

如果我在font-size元素上设置了body,该大小也会是1em吗?

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

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

我可以确定在哪里使用1em它将等于16px吗?

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

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

3 个答案:

答案 0 :(得分:6)

您希望实现的目标可以通过rem单元完成。

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

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

答案 1 :(得分:0)

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

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

font设置为固定值会破坏单位的目的:意味着因上下文和设置而异。如果您想将em设置为em,则只需使用16px单位而不是px单位。如果你认为这些数字过大,你可以使用em(pica)单位:CSS3 Units,在浏览器实践中,pc = 1pc = {{ 1}}。

答案 2 :(得分:-1)

定义font-size属性时,em等于应用于相关元素父级的字体大小。如果您没有在页面上的任何位置设置字体大小,那么它是浏览器默认值,可能是16px。

因此,默认情况下为1em = 16px2em = 32px。如果在body元素上设置字体大小为20px,则1em = 20px2em = 40px

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

Reference Link