2012-11-29 68 views
10

从我读过,启动一个HTML5页面正确的做法是:HTML5的HTML标签和DOCTYPE

<!DOCTYPE html> 
<html> 

什么也没有更多的行。这是真的? (我问,因为Visual Studio有比这更多。)

(另外,我想知道,如果HTML5真的是目前的标准还是应该使用XHTML5或一些其他版本。)

+2

Visual Studio给你什么? –

回答

11

根据HTML living standardthe W3C spec,doctype是必需的序言,但是由于遗留原因需要。我引述:

  1. 一个字符串,是字符串 "<!DOCTYPE"一个ASCII不区分大小写的匹配。
  2. 一个或多个空格字符。
  3. 一个字符串,它是字符串 “html”的ASCII不区分大小写的匹配项。
  4. 可选地,DOCTYPE传统字符串或过时的允许DOCTYPE 字符串(在下面定义)。
  5. 零个或多个空格字符。
  6. A U + 003E大号符号(>)。

换句话说,<!DOCTYPE html>,不区分大小写。

而且<html></html>一个有效的文件

(另外,我想知道,如果HTML5真的是目前的标准还是应该 我使用XHTML5或一些其他版本。)

它不是当前的标准恕我直言,因为它尚未完成。但是this article现在很好解释了使用它的10个理由。

+0

请注意,尽管WhatWG和W3C现在正在处理不同的文档。这部分仍然是一样的:http://dev.w3.org/html5/spec/single-page.html#the-doctype – Sebastian

+0

@塞巴斯蒂安敏锐的观察,我应该改变引用? – ElderMael

+0

随意添加“我的”链接到您的答案 - 这两个都可能是最好的解决方案... – Sebastian

1

是,据我所知,这是正确的。

3

是的,这是真的。 HTML5中没有更复杂的文档类型。新标准简化了,只有你说的那个。

+0

不支持html5的浏览器如何处理doctype? –

4

大部分是。但对于the <html> element says

作者HTML5规范鼓励指定根HTML 元素lang属性,使文档的语言。这有助于语音合成 工具确定使用哪些发音,翻译工具确定要使用的规则等等。

这么好,对于其内容是在美国英语网页,将

<!DOCTYPE html> 
<html lang="en-us"> 

此外,如果你正在使用XHTML5担任application/xhtml+xml你将需要添加的命名空间,也XML等价lang属性使得它的:

<!DOCTYPE html> 
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-us" xml:lang="en-us"> 
2

按照HTML5草稿,“A DOCTYPE是必需的前同步码”。建议使用序言<!DOCTYPE html>,但允许传统文档类型作为替代,尽管它们“不应使用,除非文档是从不能输出较短字符串的系统生成的”。除此之外,唯一需要的部分是title元素,即使在某些条件下它也可能被省略。 <html>标签不是必需的。

HTML5不是标准。它甚至不是W3C的推荐(还)。你应该使用什么取决于你在做什么。您认为您使用的是哪个版本的HTML并不重要。重要的是你拥有的标记以及浏览器(和搜索引擎等)如何处理它。