什么是EM?
在一个空白的HTML文档内,你没有任何关于字体大小的声明而只使用默认设置。在大多数浏览器上为html和body标签的默认字体大小为100%
使用EM为单位一定要知道父元素的设置,因为EM是一个相对值,是一个相对于父元素的值
如果选择器存在font-size属性,那么该选择器本身1em的值就是对应的font-size的值,而该选择器其余属性再使用的1em属性的值就是font-size属性确定的值
注1.:如果选择器本身font-size属性值是固定值(比如24px),那么其余属性再使用em为单位的值就是根据选择器本身的font-size来计算(比如margin:2em就是2*24px)
注2:而如果选择器本身font-size属性是使用em确定的(比如1em),那么就要根据选择器父元素的font-size值去确定选择器本身的em值(比如选择器父元素的font-size属性为24px,那么选择器本身便为24*1=24px),然后该选择器的其余属性再根据已经确定的em值(24px)去配置自己的属性值,父元素的字体大小可以影响 em 值,但这种情况的发生纯粹是因为继承
实例1:
选择器h1在font-size属性中使用的2em是要相对父元素去确定,2em也就是2倍的父元素,假设父元素<html>的font-size被设置为默认的100%,也就是16px。所以这里2em也就是2*16=32px
em单位可以被用来声明字体的大小。实际上,最佳做法是使用相对单位,如用em指定font-size
这里h1选择器的真正大小是多少呢?
我们要根据<h1>的父元素来计算font-size。它的父元素是<html>,并且它的font-size被设置为16px,通过这种方式,我们可以计算出h1的值为32px,或者说2 * 16px
当EM单位设置在html元素上的时候,html元素的默认字体大小值将被转换为EM值乘以浏览器字体大小的设置
例如:如果网站的 html 元素的字体大小属性设置为 1.25em,根元素字体大小将为 1.25 倍的浏览器的字体大小,即如果浏览器字体大小被设置为 16px,根字体大小会出来为 20px,即 1.25 x 16 = 20
相关文章: