谷歌隐私页面html无效
查看标题的html源代码是:谷歌隐私页面html无效,html,validation,Html,Validation,查看标题的html源代码是: <!DOCTYPE html> <html lang="en"> <meta charset="utf-8"> <title>Google Privacy Center</title> <link rel="stylesheet" href="//www.google.com/css/privacy.css"> <h1><a href="/"><im
<!DOCTYPE html>
<html lang="en">
<meta charset="utf-8">
<title>Google Privacy Center</title>
<link rel="stylesheet" href="//www.google.com/css/privacy.css">
<h1><a href="/"><img src="//www.google.com/intl/en/images/logo_sm.gif" alt="Google"></a> Privacy Center</h1>
谷歌隐私中心
隐私中心
我注意到这里或页脚中没有body标记。而且,没有结尾
这是有效的标记吗?说它是有效的HTML5
但请注意,谷歌并不真正关心他们的页面是否是有效的标记,只要它们显示正确。Google的主页(Google.com)充斥着无效的标记。如果您通过运行,您会发现此文档已成功检查为HTML5
但是,它不是XHTML。是的,这是HTML5
HTML5(他们将该页面声明为)允许您省略很多内容。例如,body
标记的开始和结束标记都是可选的,结束html
标记()也是可选的
验证器,但是验证器对HTML5的支持仍然是实验性的。YMMV阅读:
主体元素的开始标记可以是
如果元素为空或
体内的第一件事
元素不是空格字符或空格
注释,除非第一件事
在body元素中是一个脚本或
样式元素。主体元素的结尾
如果主体元素
不是紧接着一个
评论
html元素的结束标记可以是
如果未指定html元素,则省略
紧接着是评论
有趣的是,文档的编辑是谷歌公司的伊恩·希克森
一些HTML元素类型允许作者省略结束标记(例如p
和LI
元素类型)。一些元素类型也允许省略开始标记;例如,HEAD
和BODY
。HTMLDTD指示每个元素类型是否需要开始标记和结束标记
如果检查文档类型定义(如中的定义),则元素将使用声明。在这样的元素声明中,两个字符指定是否可以省略元素的开始标记或结束标记。请参见以下示例:
<!ELEMENT P - O (%inline;)* -- paragraph -->
这里的两个O
指定可以省略开始和结束标记
只有当元素在其上下文中是隐式的时,才可能省略元素上的两个标记。如果是HEAD
,则父级的内容模型指定如下:
<!ELEMENT HTML O O (%html.content;) -- document root element -->
<!ENTITY % html.content "HEAD, BODY">
其中,参数实体html.content的定义如下:
<!ELEMENT HTML O O (%html.content;) -- document root element -->
<!ENTITY % html.content "HEAD, BODY">
这意味着HTML
的内容模型被隐式定义为HEAD
,后跟BODY
您可以查看,看看哪些元素的标签可以省略。下面的许多答案(包括我的答案)都引用了w3.org网站上的HTML验证程序。只是FWIW,注意用它验证HTML5,验证程序中的HTML5支持仍然是“实验性的”。如果它说你做错了什么,你可能(但不一定)做了;但它很可能会错过无效的东西……这是胡说八道,我能看到的唯一优势是“快速删除标签以丢失字节”,除此之外,这是一个大混乱。@Ben:同意。不过,要习惯它,从HTML5开始,各种事情都是可选的(比如
body
标记,结束html
标记…)。请注意,它不仅仅是HTML5或HTML4。这些标记在HTML的每个版本中都是可选的(但不是XHTML)。一些亲手编写代码并了解这类知识的人不相信打字是绝对必要的。openhtml
标记可能只是用来挂起lang
属性的。“但是,它不是XHTML。”它也不是声称的那样。@T.J:正确。我的观点是,因为它不是XHTML,所以不需要结束标记。谢谢您的详细解释。