`
rensanning
  • 浏览: 3514203 次
  • 性别: Icon_minigender_1
  • 来自: 大连
博客专栏
Efef1dba-f7dd-3931-8a61-8e1c76c3e39f
使用Titanium Mo...
浏览量:37479
Bbab2146-6e1d-3c50-acd6-c8bae29e307d
Cordova 3.x入门...
浏览量:604323
C08766e7-8a33-3f9b-9155-654af05c3484
常用Java开源Libra...
浏览量:678071
77063fb3-0ee7-3bfa-9c72-2a0234ebf83e
搭建 CentOS 6 服...
浏览量:87257
E40e5e76-1f3b-398e-b6a6-dc9cfbb38156
Spring Boot 入...
浏览量:399816
Abe39461-b089-344f-99fa-cdfbddea0e18
基于Spring Secu...
浏览量:69067
66a41a70-fdf0-3dc9-aa31-19b7e8b24672
MQTT入门
浏览量:90474
社区版块
存档分类
最新评论

你所不知道的<html>, <head>, <body>

 
阅读更多
(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 &lt;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 &lt;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 &lt;vomitingotter&gt; element. (this is, as yet, not officially part of HTML. hurry up, Hixie!) But how does the browser know it should be in the &lt;body&gt;?</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 &lt;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 &lt;viewport&gt; 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 &lt;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 &lt;viewport&gt; 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
分享到:
评论

相关推荐

    HTML&JavaScript经典PPT 讲的都是重点

    &lt;HEAD&gt; &lt;TITLE&gt;诗词学习&lt;/TITLE&gt; &lt;/HEAD&gt; &lt;BODY&gt; &lt;P&gt;我是第一段&lt;/P&gt; &lt;P&gt;我是第二段&lt;/P&gt; &lt;P align="left"&gt;左对齐显示&lt;P&gt; &lt;P align="center"&gt;居中显示&lt;P&gt; &lt;P align="right"&gt;右对齐显示&lt;P&gt; &lt;/BODY&gt; &lt;/HTML&gt; &lt;HEAD&gt; ...

    html完整教程(<html>标志用于Html文档的最前边,用来标识Html文档的开始。)

    &lt;body&gt;&lt;/body&gt;是Html文档的主体部分,在此标志对之间可包含&lt;p&gt;、&lt;/p&gt;、&lt;h1&gt;、&lt;/h1&gt;、&lt;br&gt;、&lt;hr&gt;等等众多的标志,它们所定义的文本、图像等将会在浏览器的框内显示出来。两个标志必须一块使用。&lt;body&gt;标志中还可以有...

    Dreamweaver网页设计

    &lt;head&gt; &lt;/head&gt; &lt;body&gt; 这是标题 1 这是标题 2 这是段落 这个段落设置了内边距。 &lt;/body&gt; &lt;/html&gt; 活动2:使用百分比或者像素值设置行间距。 HTML代码如下: &lt;html&gt; &lt;head&gt; &lt;/head&gt; &lt;body&gt; 这是拥有...

    学生网页制作

    &lt;body&gt; &lt;div id="top"&gt; &lt;div id="top_text"&gt; &lt;ul&gt; &lt;li&gt;&lt;a href="#"&gt;联系我们&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="#"&gt;加入收藏&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="#"&gt;设为首页&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt; &lt;/div&gt; &lt;/div&gt; &lt;div id="middle"&gt; &lt;div id="logo...

    购物车代码

    out.println(" &lt;HEAD&gt;&lt;TITLE&gt;A Servlet&lt;/TITLE&gt;&lt;/HEAD&gt;"); out.println(" &lt;BODY&gt;"); out.println("&lt;form action='searchServlet' method='post'&gt;"); out.println("&lt;a href='cart'&gt;查看购物车&lt;/a&gt;&lt;br&gt;&lt;br&gt;");...

    springboot 基础简易实例, maven项目

    &lt;modelVersion&gt;4.0.0&lt;/modelVersion&gt; &lt;parent&gt; &lt;groupId&gt;org.springframework.boot&lt;/groupId&gt; &lt;artifactId&gt;spring-boot-starter-parent&lt;/artifactId&gt; &lt;version&gt;2.1.4.RELEASE&lt;/version&gt; &lt;relativePath/&gt; &lt;!-- ...

    使用HTML开发商业网站-CSS3核心基础课件.pptx

    &lt;head&gt;&lt;title&gt;使用 html 方式&lt;/title&gt;&lt;/head&gt; &lt;body&gt; &lt;h1 align="center"&gt;&lt;u&gt;一级标题&lt;/u&gt;&lt;/h1&gt; &lt;p&gt;…其他正文…&lt;/p&gt; &lt;h1 align="center"&gt;&lt;u&gt;一级标题&lt;/u&gt;&lt;/h1&gt; &lt;/body&gt; &lt;/html&gt; &lt;html&gt; &lt;head&gt;&lt;title&gt;使用 css 方式...

    网页设计作业网页设计作业

    &lt;body&gt; &lt;header&gt; &lt;h1&gt;欢迎来到我的博客&lt;/h1&gt; &lt;/header&gt; &lt;nav&gt; &lt;ul&gt; &lt;li&gt;&lt;a href="#home"&gt;主页&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="#articles"&gt;文章&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="#about"&gt;关于我&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt; ...

    在JSP中使用Session制作简单的登录模块

    charset=GB2312" %&gt;&lt;br&gt;&lt;br&gt;&lt;html&gt;&lt;br&gt;&lt;head&gt;&lt;br&gt;&lt;title&gt;CH5 - Login.jsp&lt;/title&gt;&lt;br&gt;&lt;/head&gt;&lt;br&gt;&lt;body&gt;&lt;br&gt;&lt;br&gt;&lt;h2&gt;javax.servlet.http.HttpSession - session 对象&lt;/h2&gt; &lt;br&gt;&lt;form action=Login.jsp method="POST...

    使用HTML开发商业网站-创建表格课件.pptx

    &lt;head&gt; &lt;meta charset="utf-8"&gt; &lt;title&gt;表格 &lt;/title&gt; &lt;/head&gt; &lt;body&gt; ....... &lt;/body&gt; &lt;/html&gt; &lt;table border="1"&gt; &lt;tr&gt; &lt;td&gt;品牌&lt;/td&gt; &lt;td&gt;型号&lt;/td&gt; &lt;td&gt;颜色&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;华为&lt;/td&gt; &lt;td&gt;mate40pro&lt;/td&gt; ...

    HTML表格与表单的学习

    &lt;HTML&gt;&lt;HEAD&gt; &lt;TITLE&gt;动物世界&lt;/TITLE&gt; &lt;/HEAD&gt; &lt;H1&gt;&lt;FONT SIZE=3 COLOR=FORESTGREEN&gt; &lt;B&gt;让我们看看这些可爱的动物&lt;/B&gt;&lt;/FONT&gt;&lt;/H1&gt; &lt;BODY&gt; &lt;P&gt; &lt;IMG ALIGN=BOTTOM SRC=Animal.jpg&gt;底部对齐&lt;/P&gt; &lt;P&gt; &lt;IMG ALIGN=TOP...

    ssd1 quiz3答案

    &lt;center&gt;&lt;p&gt;&lt;font size="10px"&gt;&lt;B&gt;Practical Quiz 3&lt;/B&gt;&lt;/font&gt;&lt;/p&gt;&lt;/center&gt; &lt;form color="#FF00FF"&gt; &lt;center&gt;Login Name:&lt;input type="text"&gt;&lt;/center&gt;&lt;br&gt; &lt;center&gt; Password:&lt;input type="password"&gt;...

    1.html的语法+基本结构+文档标记,对网页制作感兴趣的很有帮助,浅显易懂,只需要TXT可操作,本人已学,有笔记,大纲,源码

    2、HTML的基本机构(&lt;html&gt;&lt;head&gt;&lt;title&gt;&lt;body&gt;) 3、文档设置标记上-格式标(&lt;br&gt;&lt;p&gt;&lt;center&gt;&lt;pre&gt;&lt;li&gt;&lt;ul&gt;&lt;ol&gt;&lt;dl&gt;&lt;dt&gt;&lt;dd&gt;&lt;hr&gt;&lt;div&gt;) 4、文档设置标记下-文本标记(&lt;hn&gt;&lt;font&gt;&lt;b&gt;&lt;i&gt;&lt;sub&gt;&lt;sup&gt;&lt;tt&gt;&lt;cite&gt;&lt;em&gt;...

    HTML5小例程 JAVASCRIPT

    &lt;head&gt; &lt;meta charset="utf-8" /&gt; &lt;title&gt;Grayscale Canvas Example&lt;/title&gt; &lt;script src="modernizr-2010.07.16dev.js"&gt;&lt;/script&gt; &lt;/head&gt; &lt;body&gt; &lt;img src="logo.jpg" id="avatar" title="logo" alt=...

    使用Canvas制作的钟表

    &lt;head&gt; &lt;meta charset="UTF-8"&gt; &lt;script type="text/javascript" src="Clock.js"&gt;&lt;/script&gt; &lt;/head&gt; &lt;body&gt; &lt;canvas width='500' height='500' id='clock'&gt;&lt;/canvas&gt; &lt;/body&gt; &lt;script&gt; initClock('...

    html标签及属性大全

    基本结构标签: &lt;HTML&gt;,表示该文件为HTML文件 ...&lt;/HEAD&gt;,&lt;HEAD&gt;的结束标志 &lt;BODY&gt;,放置浏览器中显示信息的所有标志和属性,其中内容在浏览器中显示. &lt;/BODY&gt;,&lt;BODY&gt;的结束标志 &lt;/HTML&gt;,&lt;HTML&gt;的结束标志

    SpringBoot文件上传.docx

    &lt;head&gt; &lt;meta charset="UTF-8"&gt; &lt;title&gt;文件上传&lt;/title&gt; &lt;/head&gt; &lt;body&gt; &lt;form action="fileUploadController" method="post" enctype="multipart/form-data"&gt; 上传文件:&lt;input type="file" name="filename"/&gt; ...

    手机信息系统之增加信息

    &lt;head&gt; &lt;title&gt;添加&lt;/title&gt; &lt;/head&gt; &lt;body&gt; &lt;div align="center"&gt; &lt;h1&gt; 添加手机信息 &lt;/h1&gt; &lt;form action="addphoneAction.jsp" method="post"&gt; &lt;table border="1"&gt; &lt;tr&gt; ...

    HTML5+Canvas漂亮的3D烟花动画特效

    一款非常漂亮的基于HTML5+Canvas实现的放烟花特效,地面旋转,夜空3D烟花动画特效。

    jsp登陆界面源代码

    DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"&gt;&lt;html&gt;&lt;head&gt; &lt;title&gt;登录页面&lt;/title&gt;&lt;/head&gt;&lt;body&gt; &lt;form name="loginForm" method="post" action="judgeUser.jsp"&gt; &lt;table&gt; &lt;tr&gt; &lt;td&gt;用户名:...

Global site tag (gtag.js) - Google Analytics