教学之友,学习之友。

站长教学网

不使用html、head、body标签的网页会如何?

时间:2012-03-27 17:26来源:未知 作者:ken 点击:

今天在学习DIVE INTO HTML5时,在HTML5 Peeks, Pokes and Pointers一页看到这样一句话:

Optional start tags. html, head, body, tbody, colgroup. Amaze your friends! Skip the tags and still validate!

  顿时来了兴趣。

  其实这一点在WHATWG的HTML vs. XHTML页面中也有提到,其中最常接触的就是tbody标签的省略(其实多数是因为偷懒或者干脆是忘记了),部分浏览器(IE)会自动补上一个tbody元素,而其他浏览器则可以在没有tbody的情况下渲染table(此处确实是IE的错,因为标准里说table里允许直接写tr,这点和本文要说的html、head、body标签不同)。

  既然html、head、body这三个标签可以省略,但是标准中指定的根元素为html元素,且在html元素的内容模型中明确其只能包含一个head元素和一个body元素,甚至连head必须在body之前也已经明确说明了。那么这就意味着,虽然在编写过程中,HTML里没有html、head、body这三个元素,但是在浏览器对纯文本的文档进行解析之后,势必要按着标准来创建这三个元素,最终的DOM模型里必须有html、head和body存在。

  于是就会产生一个问题,如果完全不写这三个元素,那么浏览器会根据什么样的原理,将所有的元素分别放置到自动生成的head和body元素之中。为此,编写了一个页面,通过一个简单的例子,试图找出浏览器自动创建head和body元素的规律。

  页面可以通过这里查看测试页面,页面的html结构如下:

  • DOCTYPE
  • meta
  • title
  • style
  • script
  • h1
  • p
    • q
    • code
  • p
    • code
  • script
  • pre
    • code

  在各浏览器中测试结果如下:

没有html、head、body的页面 | 维客空间 WikeSoft.COM

(责任编辑:ken)

TAG标签: 标签 html body head
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
注册登录:不允许匿名留言,登录后留言无需输入验证码。
栏目列表
最新内容