我有一个困惑,我经历了一个使用jsp编写的页面编码嵌入html,我的任务是改变一些HTML的东西。HTML标头的重要性
在我发现有结束标记</html>
但开发人员不启动<head>
。
但是该页面没有任何问题。
我需要澄清的是,这种方法总是有效吗?或者是否有任何问题发生的可能性?
因为我必须添加编码,支持IE9和编码关于落实引导
我有一个困惑,我经历了一个使用jsp编写的页面编码嵌入html,我的任务是改变一些HTML的东西。HTML标头的重要性
在我发现有结束标记</html>
但开发人员不启动<head>
。
但是该页面没有任何问题。
我需要澄清的是,这种方法总是有效吗?或者是否有任何问题发生的可能性?
因为我必须添加编码,支持IE9和编码关于落实引导
修正,在HTML5中,你不需要<head />
但你需要一个<title />
除非这个HTML是一个iframe或类似的电子邮件的内容:
如果文档是iframe srcdoc文档或如果标题信息 可以从更高级别的协议:的 元数据内容的零个或更多的元件,不超过一个,其中是一个标题元素,没有 不止一个是基本元素。否则: 元数据内容的一个或多个元素,其中一个是标题元素,而另一个是基本元素。
所以这不是有效的HTML,但浏览器,无论好坏,让开发人员摆脱了很多废话。如果你支持传统的浏览器,如果你忽略了头部,事情可能会变得很奇怪。
因此,以下两种都被认为是有效的HTML5文档。
<!DOCTYPE html>
<html>
<head>
<title>Title</title>
</head>
</html>
<!-- Valid HTML5, but not valid HTML4 -->
<!DOCTYPE html>
<html>
<title>Title</title>
</html>
您可以用W3C's Markup Validator进行检查。
以下是有关遗漏完整规范的HTML5:如果HTML元素中的第一件事情是不是注释
- 一个HTML元素的开始标记可以省略。
- 如果html元素后面没有注释,可以省略html元素的结束标记。
- 如果元素为空,或者头元素内的第一个元素是元素,则可以省略头元素的开始标记。
- 如果头元素后面没有紧跟空格字符或注释,则可以省略头元素的结束标记。
- 如果元素为空,或者如果body元素中的第一个元素不是空格字符 或注释,则除非body元素中的第一个元素是 脚本,否则可以省略body元素的开始标记或样式元素。
- 如果body元素后面没有注释,则可以省略body元素的结束标记。
即使不包含所有标准HTML元素,现代浏览器也会呈现该页面。包含'
'标签很重要,因为它提供了有用的信息,例如页面标题,元信息和样式表等。但是从技术上讲,浏览器不需要头标签来呈现页面。 –请意识到浏览器会为你做什么不同于[
'的HTML规范](http://www.w3.org/TR/html5/document-metadata.html#the-head-element )要求。在特殊情况下,您不需要'',但在正常情况下它是必需的。如果你让一个浏览器做一些缺失但需要的'',那么你就依赖于特定于浏览器的行为,这些行为在供应商之间可能会有所不同,并可能随着时间而改变。 – ajp15243