(1)HTML并没有要求一定要有<html>, <head>, <body>(XHTML会做校验)
<!DOCTYPE html>
<meta charset=utf-8>
<title>Browsers add html, head, body elements</title>
<p>There is no html, head, body element in the source code but if you check - in any browser - you'll find they've been inserted.</p>
浏览器会正常解析,并自动构建了包含标准标签的DOM树,解析后的DOM树如下:
<!DOCTYPE html>
<html><head><meta charset="utf-8">
<title>Browsers add html, head, body elements</title>
</head><body><p>There is no html, head, body element in the source code but if you check - in any browser - you'll find they've been inserted.</p></body></html>
(2)浏览器如何判断<head>结束<body>开始的呢?
<!DOCTYPE html>
<meta charset=utf-8>
<title>Browsers add html, head, body elements</title>
<vomitingotter>This is in a <vomitingotter> element. (this is, as yet, not officially part of HTML. hurry up, Hixie!) But how does the browser know it should be in the <body>?</vomitingotter>
浏览器遇到不认识的<vomitingotter>就认为是<body>开始,解析后的DOM树如下:
<!DOCTYPE html>
<html><head><meta charset="utf-8">
<title>Browsers add html, head, body elements</title>
</head><body><vomitingotter>This is in a <vomitingotter> element. (this is, as yet, not officially part of HTML. hurry up, Hixie!) But how does the browser know it should be in the <body>?</vomitingotter></body></html>
(3)只要遇到<head>中可识别的Metadata(<base>, <link>, <meta>, <noscript>, <script>, <style>, <template>, <title>)以外的标签就结束<head>,如果你把Metadata写在了后边也不会被自动识别到<head>中。
<!DOCTYPE html>
<viewport>This is the content of a pretend <viewport> element, which in the source is the first line after the DOCTYPE, before the charset declaration or title element. But if you look in any DOM inspector in any browser, you'll see that it's been put in the body.</viewport>
<meta charset=utf-8>
<title>Browsers add html, head, body elements</title>
浏览器遇到不认识的标签<viewport>就认为是<body>开始,<meta>和<title>被解析到了<body>中:
<html><head></head><body><viewport>This is the content of a pretend <viewport> element, which in the source is the first line after the DOCTYPE, before the charset declaration or title element. But if you look in any DOM inspector in any browser, you'll see that it's been put in the body.</viewport>
<meta charset="utf-8">
<title>Browsers add html, head, body elements</title></body></html>
(4)即使你把不该出现在<head>中的标签强制放到<head>里,比如:
<!DOCTYPE html>
<html>
<head>
<viewport>This is the content of a pretend <viewport> element, which in the source is the first line after the DOCTYPE</viewport>
<meta charset=utf-8>
<title>Browsers add html, head, body elements</title>
</head>
<body>
<p>Paragraph in body element</p>
</body>
</html>
浏览器也不认为他们是<head>信息:
<html><head>
</head><body><viewport>This is the content of a pretend <viewport> element, which in the source is the first line after the DOCTYPE</viewport>
<meta charset="utf-8">
<title>Browsers add html, head, body elements</title>
<p>Paragraph in body element</p>
</body></html>
以上使用的浏览器是:Google Chrome 版本:35.0.1916.153。
参考:
http://www.brucelawson.co.uk/2014/why-is-viewport-in-a-meta-tag/
http://www.w3.org/TR/html401/struct/global.html
分享到:
相关推荐
<HEAD> <TITLE>诗词学习</TITLE> </HEAD> <BODY> <P>我是第一段</P> <P>我是第二段</P> <P align="left">左对齐显示<P> <P align="center">居中显示<P> <P align="right">右对齐显示<P> </BODY> </HTML> <HEAD> ...
<body></body>是Html文档的主体部分,在此标志对之间可包含<p>、</p>、<h1>、</h1>、<br>、<hr>等等众多的标志,它们所定义的文本、图像等将会在浏览器的框内显示出来。两个标志必须一块使用。<body>标志中还可以有...
</head> <body> <h1>这是一个红色的一级标题</h1> <p>这是一个绿色的段落。</p> </body> </html> ``` 通过这种方式,我们能够有效地控制HTML文档的视觉呈现,创建出丰富多彩、个性化的网页。掌握CSS的基础知识,...
<head> <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> <title>登录图书管理系统</title> <style type="text/css"> .STYLE1 { font-size: 36px; font-weight: bold; } </style> </...
标签:如<html>、<head>、<body>、<h1>到<h6>(标题)、<p>(段落)、<a>(链接)、<img>(图像)等。 示例代码: <!DOCTYPE html> <html> <head> <title>我的网页</title> </head> <body> <h1>欢迎来到我的网页</...
**知识点**: HTML文档的基本结构包括`<html>`、`<head>`、`<title>`以及`<body>`等标签。 - **`<html>`标签**: 标识整个HTML文档的开始与结束。 - **`<head>`标签**: 包含关于文档的信息,如标题、样式表链接等,并...
DOCTYPE html><html><head> <title>我的网页</title></head><body> <h1>欢迎来到我的网页</h1> <p>这是一个简单的HTML网页示例。</p> <ul> <li>列表项1</li> <li>列表项2</li> <li>列表项3</li> </ul></body></html>...
</body> </html> ``` 接下来,我们来看看Dojo4j库。Dojo是一个强大的JavaScript库,提供了丰富的UI组件、数据绑定、动画效果和异步通信等功能。在JSF项目中,Dojo4j可以帮助我们更好地集成Dojo框架,简化前后端交互...
<body> <header> <h1>欢迎来到我的博客</h1> </header> <nav> <ul> <li><a href="#home">主页</a></li> <li><a href="#articles">文章</a></li> <li><a href="#about">关于我</a></li> </ul> ...
</head> <body> <table border="1"> <tr> <th>表头一</th> <th>表头二</th> </tr> <tr> <td>单元格内容</td> <td>单元格内容</td> </tr> </table> </body> </html> ``` 此示例创建了一个简单的表格,其中...
charset=GB2312" %><br><br><html><br><head><br><title>CH5 - Login.jsp</title><br></head><br><body><br><br><h2>javax.servlet.http.HttpSession - session 对象</h2> <br><form action=Login.jsp method="POST...
1. HTML文件结构:一个基础的HTML文件通常由`<html>`标签开始,接着是`<head>`标签,包含文档元数据如标题,然后是`<body>`标签,其中包含实际的网页内容。例如: ```html <html> <title>我的第一个网站</title> ...
<head> <title>无序列表示例</title> </head> <body> <p>我们提供的软件类别包括:</p> <ul> <li>系统程序</li> <li>媒体工具</li> <li>管理软件</li> <li>游戏娱乐</li> </ul> </body> </html> ``` 此代码...
在这个例子中,`<html>` 标签表示HTML文档的开始和结束,而 `<head>` 和 `<body>` 分别定义了文档的头部信息和主体内容。`<p>` 标签则用来表示一个段落。 ##### 1.2 基础标记的用法 - **`<br>`** 表示换行。 - **`...
<center><p><font size="10px"><B>Practical Quiz 3</B></font></p></center> <form color="#FF00FF"> <center>Login Name:<input type="text"></center><br> <center> Password:<input type="password">...
2、HTML的基本机构(<html><head><title><body>) 3、文档设置标记上-格式标(<br><p><center><pre><li><ul><ol><dl><dt><dd><hr><div>) 4、文档设置标记下-文本标记(<hn><font><b><i><sub><sup><tt><cite><em>...
在HTML中,我们还可以使用`<font>`标签(虽然在现代HTML5中不推荐使用)来调整字体、大小和颜色,或者使用CSS来更精细地控制文本样式。 总之,理解和熟练运用这些HTML标签是网页设计的基础,它们使得我们可以创建...
HTML文件的结构主要由<head>和<body>两大部分组成,其中<head>标签包含了与文档元信息相关的内容,而<body>则包含实际可见的网页内容。本文将深入解析<head>内部的几个关键标记:<meta>、<link>、<base>以及<body>的...