【问题标题】:Do you need an opening <html> tag?你需要一个打开的 <html> 标签吗?
【发布时间】:2014-04-11 16:31:25
【问题描述】:

我使用Initializer 快速生成 HTML5 + Boostrap 样板,我很好奇为什么创建的 HTML 文档没有打开 &lt;html&gt; 标记?

这是 Initializr 为我生成的顶部部分:

<!DOCTYPE html>
<!--[if lt IE 7]>      <html class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]-->
<!--[if IE 7]>         <html class="no-js lt-ie9 lt-ie8"> <![endif]-->
<!--[if IE 8]>         <html class="no-js lt-ie9"> <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js"> <!--<![endif]-->
    <head>

我已经使用 Initializr 部署了一些网站并且没有遇到问题。你需要一个打开的&lt;html&gt;标签吗?

【问题讨论】:

  • 那里有 4 个&lt;html&gt; 标签。它们被 IE 条件标签围起来,但里面仍然有 4 个标签。仅仅因为他们有一个类属性不会变成&lt;not-html&gt;
  • 没有html 标签是什么意思?我在您的代码中看到了html 标记。
  • 代码中只有一个&lt;html&gt;标签。 cmets 中的文本不构成标记。 IE 以不合格的方式处理某些类型的 cmets,但这是一个不同的问题。

标签: html twitter-bootstrap initializr


【解决方案1】:

来自HTML 5 Specification

如果 html 元素中的第一件事不是注释,则可以省略 html 元素的开始标记。
如果 html 元素后面没有紧跟注释,则可以省略 html 元素的结束标记。

所以,是的,标签是可选的。

【讨论】:

  • 然而,OP 的代码实际上并没有省略它,如果你想从 HTML 中为其分配一个类或 ID,它也不能省略。
  • 是正确的,发布的代码确实包含&lt;html&gt; 标签,但问题具体询问是否需要。具有讽刺意味的是,他们实际上并没有使用支持该问题的代码......
猜你喜欢
  • 1970-01-01
  • 2011-06-28
  • 2014-02-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-02-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多