【问题标题】:What is the "root element" for rem?rem 的“根元素”是什么?
【发布时间】:2015-09-11 19:25:30
【问题描述】:

W3says:

等于根元素上计算的 font-size 值。在根元素的 font-size 属性上指定时,rem 单位指的是属性的初始值。

这个“根元素”指的是什么? <html>? <body>?

【问题讨论】:

  • 您可以找到的大部分信息(参考资料、文章等)都清楚地表明<html> 是根元素

标签: html css


【解决方案1】:

the HTML specification

对于 HTML 文档,根元素是 <html>

另见the XML specification

只有一个元素,称为根或文档元素,它的任何部分都不会出现在任何其他元素的内容中。] 对于所有其他元素,如果开始标签在另一个元素的内容中,则end-tag 在同一个元素的内容中。

【讨论】:

  • 好的,谢谢。我看到很多人设置html, body { font-size: 20px; },这让我觉得有时html 被视为root,有时body 是。所以 rem 永远不会将body 视为root 对吗?你知道他们同时使用htmlbody 选择器的原因吗?
  • @AdamZerner — 我对字体大小继承不能正常工作的怪癖模式行为有模糊的回忆。这很可能是由于旧的浏览器错误、货物崇拜或两者兼而有之。
【解决方案2】:

所有具有 html 标准的 web 正文都以 <html> 开头。这就是为什么根元素是 html 标记的原因。即使您从html文件中删除html标签并使用浏览器打开它,您也可以通过浏览器为您添加html标签的inspect element功能检查代码。

【讨论】:

  • 您将 elementstags 混淆了。 标签用于源文本中标记元素的开始和结束。 HTML(以及 HEADBODY元素 始终存在于 HTML 文档中。然而,它们的 标签 完全是可选的,浏览器将根据需要打开和关闭元素。例如,您真正需要 </head><body> 标记的唯一时间是,当您想要使用HEAD 元素内也允许的元素开始BODY 元素时。
猜你喜欢
  • 2019-08-21
  • 2020-02-11
  • 1970-01-01
  • 2020-05-08
  • 1970-01-01
  • 2019-06-23
  • 2013-03-05
  • 2010-11-10
  • 2011-01-17
相关资源
最近更新 更多