html – 每个浏览器的默认字体大小是16px吗?为什么?

CSS3为font-size定义了一个名为rem的新长度单位.这允许我们计算元素的font-size与根元素(html元素)的关系.

为了更容易地计算字体大小,我们通常假设根元素的font-size是16px,因此CSS通常会这样结束:

html { font-size:62.5%; } // 10px = 16px * 0.625

因此,例如,每个具有rem的元素高度相对于10px

p{ font-size : 1.4rem ;} // 14px = 10px * 1.4

我无法找到为什么我们假设我们可以乘以16px?我们如何相信每个浏览器都具有相同的16px基值?是否有关于预定义16px的标准描述?

参考

> MDN font-size
> W3C rem
> CanIUse about rem
> Github skeleton.css

解决方法

基本字体大小由浏览器中用户预定义的首选项确定.

几乎在每个浏览器中,16px都是比例字体的标准.这也可以根据字体是否使用衬线或是固定宽度字体而改变.

在大多数项目中,我通常将html元素预设为使用px值而不是%或em / rem值,以确保所有浏览器,屏幕和设备具有相同的字体大小并且页面上的元素保持相同大小和比例.

请记住,使用em使用父字体大小并与其成比例,而rem使用根html元素

例如:

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>

相关文章

vue阻止冒泡事件 阻止点击事件的执行 &lt;div @click=&a...
尝试过使用网友说的API接口获取 找到的都是失效了 暂时就使用...
后台我拿的数据是这样的格式: [ {id:1 , parentId: 0, name:...
JAVA下载文件防重复点击,防止多次下载请求,Cookie方式快速简...
Mip是什么意思以及作用有哪些