关于对CSS尺寸单位'em'的长期误解
一直以来认为'em'是相对于父元素的字体大小.
直到今天学习移动WEB开发,重新复习css的尺寸大小时,惊奇发现:对em深深的误解了!!!
在CSS官网对em的解释实例是: a. h1{line-height:1.2em;} →使用的行高为h1自身的font-size*1.2; b.h1{font-size:1.2em;}→h1的font-size为h1继承来的font-size*1.2;下面我们通过具体例子来验证一下.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<style>
p{
width: 20em; //20*继承父元素的fontSize;(图1)
}
p{
width: 20em;
font-size:15px;//此时的宽度为20*15;(图二)
}
</style>
<body>
<p>我是用em定义的字体大小</p>
</body>
</html>
图一:
图二:
综上:'em'就是自身的字体大小即:fontSize.如果自身指定的fontSize=20px;那么1em =20px;如果自身没有指定,则是继承来的fontSize.