请选择 进入手机版 | 继续访问电脑版
设为首页收藏本站

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

切换风格 注册 找回密码

html5源码-html5教程网



10

主题

0

听众

34

积分

版主

Rank: 7Rank: 7Rank: 7

贡献
0
金钱
4

社区QQ达人

发表于 2016-3-26 14:20:59 |显示全部楼层
说起HTML的结构,很多人都能说得头头是道,一般来说答案可能是这样的:
一个DOCTYPE,一个html,里面有head和body元素。
这当然不能说是不正确的,但是如果问到一个最小的HTML源文件必须有哪一些东西的话,恐怕很少有人能正确地做出回答。
先来回答一下这个问题,一个最简的HTML5源码文件需要的内容如下:
<!DOCTYPE html>
是的,就这样,一个字符不多,一个字符不少,除了大小写可任意变化外,其他的任何内容都是不能变动的。
那么究竟是怎么样的规则,导致一个最简的源码文件必须有doctype声明呢?根据标准,一个HTML文档有如下内容组成(严格按照顺序):
  • 一个BOM标记,且这个BOM标记必须为U+FEFF。
  • 0-n个空格或注释。
  • DOCTYPE声明。
  • 0-n个空格或注释。
  • 一个HTML元素。
  • 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修改为更简单的<!DOCTYPE html>,这个已经众所周知了。
  • 在HTML4中多了一个<title>标签。
这里的重点就是<title>标签了,关于这个标签,在HTML4.01标准中是这么说的:
Every HTML document must have a TITLE element in the HEAD section.
也即是说,HTML4要求<title>标签是必须存在的。
而在HTML5的标准中,又是这么说的:
There must be no more than one title element per document.
HTML5中只设定了<title>标签数量的上限,却没有指明下限,也就是说,没有<title>的文档已经被视为一个合法的文档了。
对于DOCTYPE,HTML4中设定了6种DOCTYPE,HTML5中将DOCTYPE分为3种,这个在以后的章节中再具体说明。
再回过来看一下文档组成,除去0-n个空格或注释这样并没有多大意义的元素之外,组成的列表中还说明有一个HTML元素,但是最简的源码中却没有这东西。这是因为在HTML的规范中,一直存在“隐式标签”这样的概念,关于隐式标签,大致可以这么解释:
一部分元素,当满足特定的前提条件时,其开始标签或结束标签可以在源码中省略。在这种情况下,被省略的标签称为“隐式标签”。
需要注意的是,此处的省略指的是在源码中省略,而在最终成型的DOM树中,这个标签是存在的,因此才称为隐式标签。因此上面最简的源码结构,在生成DOM树后,其真正的结构是这样的:
<!DOCTYPE html><html>    <head></head>    <body></body></html>
最后,再总结一下XHTML中的一些规范:
  • 因为是XML,所以为了表示这是一个HTML文档,必须有一个命名空间,其值为http://www.w3.org/1999/xhtml
  • 因为是XML,所以MIME type不能是text/html了,text/xmlapplication/xmlapplication/xml+html都是比较好的选择。
  • 因为是XML,必须有根元素,根元素为<html>,即<html>的开始和结束标签不能省略了。
  • 因为是XML,所有元素只要有了开始标签,就不能没有结束标签,或者自闭合。
  • 因为是XML,所有元素都得严格遵守大小写,元素名称必须为小写。
因为是XML,文档变得严格了很多,也因为是XML,其可读性和规范性提高了不少。但最终,我们始终要在HTML的宽容性和XML的规范性之间找到最佳的平衡点,一味地追求极端始终是一个错误。

4

主题

0

听众

50

积分

注册会员

Rank: 2

贡献
0
金钱
3
发表于 2016-3-26 14:21:41 |显示全部楼层
学习下
回复

使用道具 举报

0

主题

0

听众

5

积分

新手上路

Rank: 1

贡献
0
金钱
0
发表于 2016-3-26 21:04:14 |显示全部楼层
为了三千积分!
回复

使用道具 举报

1

主题

0

听众

46

积分

新手上路

Rank: 1

贡献
0
金钱
1
发表于 2016-3-29 21:44:03 |显示全部楼层
看帖要回,回帖才健康,在踩踩,楼主辛苦了!
回复

使用道具 举报

0

主题

0

听众

45

积分

新手上路

Rank: 1

贡献
0
金钱
0
发表于 2016-3-29 23:07:29 |显示全部楼层
啥玩应呀
回复

使用道具 举报

0

主题

0

听众

24

积分

新手上路

Rank: 1

贡献
0
金钱
0
发表于 2016-3-30 13:34:15 |显示全部楼层
路过
回复

使用道具 举报

0

主题

0

听众

22

积分

新手上路

Rank: 1

贡献
0
金钱
0
发表于 2016-4-1 19:35:13 |显示全部楼层
好东西~~~~~~~~~~~~~~~~~
回复

使用道具 举报

0

主题

0

听众

29

积分

新手上路

Rank: 1

贡献
0
金钱
0
发表于 2016-4-3 19:46:25 |显示全部楼层
我也来顶一下..
回复

使用道具 举报

0

主题

0

听众

39

积分

新手上路

Rank: 1

贡献
0
金钱
0
发表于 2016-4-14 20:20:38 |显示全部楼层
纯粹路过,没任何兴趣,仅仅是看在老用户份上回复一下
回复

使用道具 举报

1

主题

0

听众

50

积分

注册会员

Rank: 2

贡献
0
金钱
1
发表于 2016-4-15 21:48:47 |显示全部楼层
秀起来~
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆



Archiver|手机版|     

HTML5教程网 Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部