首页 > web前端 > H5教程 > 正文

HTML5标准学习-文档结构详解

黄舟
发布: 2017-03-27 15:34:49
原创
1848人浏览过

说起html的结构,很多人都能说得头头是道,一般来说答案可能是这样的:

一个DOCTYPE,一个html,里面有head和body元素。

这当然不能说是不正确的,但是如果问到一个最小的HTML源文件必须有哪一些东西的话,恐怕很少有人能正确地做出回答。

先来回答一下这个问题,一个最简的HTML5源码文件需要的内容如下:

<!DOCTYPE html>
登录后复制

是的,就这样,一个字符不多,一个字符不少,除了大小写可任意变化外,其他的任何内容都是不能变动的。

那么究竟是怎么样的规则,导致一个最简的源码文件必须有doctype声明呢?根据标准,一个HTML文档有如下内容组成(严格按照顺序):

立即学习前端免费学习笔记(深入)”;

  1. 一个BOM标记,且这个BOM标记必须为U+FEFF。

  2. 0-n个空格或注释。

  3. DOCTYPE声明。

  4. 0-n个空格或注释。

  5. 一个HTML元素。

  6. 0-n个空格或注释。

这里存在着一些和HTML4的不同,一个HTML4的最简源码文件是这样的:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
                      "http://www.w3.org/TR/html4/loose.dtd">
<title>这里是标题</title>
登录后复制

两者的区别是显而易见的:

  • HTML5把DOCTYPE修改为更简单的,这个已经众所周知了。

  • 在HTML4中多了一个

    标签。

这里的重点就是

标签了,关于这个标签,在HTML4.01标准中是这么说的:<blockquote><p>Every HTML document must have a TITLE element in the HEAD section.</p></blockquote> <p>也即是说,HTML4要求</p> <title>标签是必须存在的。<p>而在HTML5的标准中,又是这么说的:</p> <blockquote><p>There must be no more than one title element per document.</p></blockquote> <p>HTML5中只设定了</p> <title>标签数量的上限,却没有指明下限,也就是说,没有<title>的文档已经被视为一个合法的文档了。<p>对于DOCTYPE,HTML4中设定了6种DOCTYPE,HTML5中将DOCTYPE分为3种,这个在以后的章节中再具体说明。</p> <p>再回过来看一下文档组成,除去这样并没有多大意义的元素之外,组成的列表中还说明有一个HTML元素,但是最简的源码中却没有这东西。这是因为在HTML的规范中,一直存在“隐式标签”这样的概念,关于隐式标签,大致可以这么解释:</p> <blockquote><p>一部分元素,当满足特定的前提条件时,其开始标签或结束标签可以在源码中省略。在这种情况下,被省略的标签称为“隐式标签”。</p></blockquote> <p>需要注意的是,此处的省略指的是<em>在源码中省略</em>,而在最终成型的DOM树中,这个标签是存在的,因此才称为<em>隐式</em>标签。因此上面最简的源码结构,在生成DOM树后,其真正的结构是这样的:</p><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:html;toolbar:false;"><!DOCTYPE html> <html> <head></head> <body></body> </html></pre><div class="contentsignin">登录后复制</div></div><p>最后,再总结一下XHTML中的一些规范:</p> <ul class=" list-paddingleft-2"> <li><p>因为是<a href="http://www.php.cn/wiki/1527.html" target="_blank">XML</a>,所以为了表示这是一个HTML文档,必须有一个<a href="http://www.php.cn/wiki/220.html" target="_blank">命名空间</a>,其值为www.w3.org/1999/xhtml。</p></li> <li><p>因为是XML,所以MIME type不能是text/html了,text/xml、application/xml、application/xml+html都是比较好的选择。</p></li> <li><p>因为是XML,必须有根元素,根元素为,即的开始和结束标签不能省略了。</p></li> <li><p>因为是XML,所有元素只要有了开始标签,就不能没有结束标签,或者自闭合。</p></li> <li><p>因为是XML,所有元素都得严格遵守大小写,元素名称必须为小写。</p></li> </ul> <p>因为是XML,文档变得严格了很多,也因为是XML,其可读性和规范性提高了不少。但最终,我们始终要在HTML的宽容性和XML的规范性之间找到最佳的平衡点,一味地追求极端始终是一个错误。</p> <p style="text-align: right;"><br></p>

以上就是HTML5标准学习-文档结构详解的详细内容,更多请关注php中文网其它相关文章!

HTML速学教程(入门课程)
HTML速学教程(入门课程)

HTML怎么学习?HTML怎么入门?HTML在哪学?HTML怎么学才快?不用担心,这里为大家提供了HTML速学教程(入门课程),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号