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>

相关文章

操作步骤 1、进入elasticsearch的plugin,进入ik。进入config。 2、在config下面建立以.dic为后缀的字典...
lengend data数据中若存在&#39;&#39;,则表示换行,用&#39;&#39;切割。
代码实现 option = { backgroundColor: &amp;#39;#080b30&amp;#39;, tooltip: { trigger: &...
问题原因 原因在于直接在js中取的变量并复制给var变量。 于是就变成这样。 解决办法 var data = &#...
前言 最近做了一个调查问卷导出的功能,需求是将维护的题目,答案,导出成word,参考了几种方案之后,选...
对于很多人来说,用字符编码都是熟能生巧,而不清楚为什么是那样的字符编码,所以我在这列了一个表,翻...