CSS3定义了新的长度单位font-size叫做rem。这使我们能够计算font-size与根元素(html元素)相关的元素。
font-size
rem
为了font-size更轻松地进行计算,我们通常假设根元素font-size为16px,因此CSS通常如下所示:
16px
html { font-size:62.5%; } // 10px = 16px * 0.625
因此,每个元素高度与rem都相对于10px,例如
10px
p{ font-size : 1.4rem ;} // 14px = 10px * 1.4
我找不到为什么我们假设可以乘以16px?我们如何才能相信每个浏览器都具有相同的基本值16px?是否有关于预定义的标准描述16px?
该基准font-size由用户在浏览器中预定义的首选项确定。
在几乎所有浏览器中,16px是比例字体的标准。这也可以根据字体是使用衬线还是固定宽度的字体而改变。
请记住,使用em需要父母font-size,并且与其成正比,而rem使用html根元素
em
例如:
html { font-size: 16px; } h1 { font-size: 2em; // 32px } p { font-size: 1em; // 16px } .someClass { font-size: .75em; // 12px } .someClass p { font-size: 2em; // 24px } .someClass p .test { font-size: 1.25rem; // 20px } <html> <h1>2em Title Text</h1> <p>Normal Element Text</p> <div class="someClass"> someClass font size <p>SomeClass with em</p> <p><span class="test">someClass p element with class test</span> </p> </div> </html>