HTML中的html head body标签有且只能有一个，为什么不可以直接省略？
好问题。 答案是：<html>/<head>/<body> 都是 optional tags，当然可以省略（在 HTML5 标准下 事实上，让我们扔掉 <html>/<head>/<body> ，这也是一个合法的 HTML5 document 哦。 更进一步，扔掉 <body> 里的内容，依然是合法的。 继续努力，扔掉 <title> 就剩一个 doctype 这就不合法了，必须要有一个 <title> 那么为什么大多数情况下，我们看到的 HTML5 源码里都有 <html>/<head>/<body> 呢？那可能是工程师的自觉，也可能是为了兼容老旧的浏览器，对于现代浏览器来说，并不是必须的。 =========== 关于 optional tags ，以及什么属于 optional tags ，见 spec