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

mon*_*jer 20 html css css3

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

为了font-size更容易计算,我们通常假设根元素font-size16px,因此CSS通常最终会像这样:

html { font-size:62.5%; } // 10px = 16px * 0.625
Run Code Online (Sandbox Code Playgroud)

因此,每个元素高度与例如rem相对10px

p{ font-size : 1.4rem ;} // 14px = 10px * 1.4 
Run Code Online (Sandbox Code Playgroud)

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

参考

Ste*_*ide 21

基数font-size由用户在浏览器中预先定义的首选项确定.

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

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

请记住,使用em父对象font-size并与之成比例,而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
}
Run Code Online (Sandbox Code Playgroud)
<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>
Run Code Online (Sandbox Code Playgroud)

  • 您可能希望避免在根元素中将px值设置为font-size,因为如果用户更改了可访问性的默认字体大小,这将阻止扩展您的网站. (7认同)
  • 出于好奇......如果你不让用户更大的字体大小偏好,那么设计是否值得拥有浏览器/设备?例如,老年人倾向于"抬高"他们的字体大小,因为它有助于他们更好地阅读.如果在body或html中设置绝对值,则忽略用户首选项.那值得保留设计吗? (3认同)
  • @Chayemor现在,这完全取决于您对网站外观的偏好。如果您希望每个操作系统和浏览器上的设计都能达到完美的像素,则需要进行设置。如果您愿意接受移动等功能,请确保不要在CSS中进行设置。以我的经验,只有极少数的用户实际更改其字体大小,并且他们通常具有很好的技术知识,因为它隐藏在浏览器设置中,并且会知道如何解决它。 (2认同)