我的HTML5文档类型是否必须在第一行?

cap*_*lam 25 html asp.net doctype html5-video

我一直想知道DOCTYPE之前是否有空格,但我似乎无法在网上找到任何确切的信息.人们说不要这样做,但我看不出它可能会产生什么影响,或者即使规范说它必须是这样的.我无法弄清楚它是否会触发IE中的兼容模式或类似的烦人行为.

原因是,在我的(糟糕的asp.net)代码中,我更愿意写:

<%@ Page language="c#" Codepage="65001" AutoEventWireup="true" %>
<%@ OutputCache Location="None" VaryByParam="none" %>
<!doctype html>
Run Code Online (Sandbox Code Playgroud)

比:

<%@ Page language="c#" Codepage="65001" AutoEventWireup="true" %><%@ OutputCache Location="None" VaryByParam="none" %><!doctype html>
Run Code Online (Sandbox Code Playgroud)

因为第一个更整洁.但顶部的结果是渲染的html中有一些空白行.

不是一个大问题.我一直想知道它是否重要:)

Ray*_*oal 24

如果您需要官方答案,请转到W3C的官方文档并阅读其中的语法.

评论和空格可能是第一位的.

这是链接:http://www.w3.org/TR/html-markup/documents.html#conformant-documents.

  • 似乎已转移到 https://www.w3.org/TR/2012/WD-html-markup-20121025/documents.html#conformant-documents (2认同)

Soz*_*Soz 8

偶尔有一些浏览器在doctype之前有空白问题 - 经典的例子是IE6,据说它在进入怪癖模式时就会出现.事实证明,这仅适用于某些特定类型的空白(例如,不可破坏的空格).也就是说,IE6兼容性在大多数人的优先级列表中并不高.