一.HTML 5 基本结构
如果己有 HTML 4 的基础,将会发现学习 HTML 5 非常简单,只要把 HTML 4 中能DTD 定义改为如下形式即可.
<! DOCTYPE html>
上面的DTD 定义并不符合 XML 文档的 DTD 语法--这也正好符合 HTML 5.的设计哲学:HTML 5 并不是“规范优先” 的设计,HTML 5是“妥协式”的规范,它照顾了互联网上大量不规范的 HTML 页面。因此 HTML5 并不需要严格意义上的 DTD。
HTML 5对元素大小写不再严格区分,开发者可以随意使用大小写字符来定义 HIML元素。
HTML 5 文档的根元素依然是<html.../>,这是固定不变的内容。在<html../>元素里包含<head./>和<body./>两个子元素。<head./>元素主要定义 HTML 5 文档的页面头,其中<title../>元素用于定义页面标题,除此之外,还可以在<head../>元素中定义meta、样式单等信息;<body.../>人元素用于定义页面主体,包括页面的文本内容和绝大部分标签,
HTML 5 支持两种方式来指定页面的字符集。
1.使用 Content-Type 指定页面所用的宇符集
2.直接使用 charset 指定页面所用的字符集
二.HTML 5 的语法变化
如果说 HTML 5 的语法发生了一些变化,这些变化的最大特征就是:HTML 5 更宽容了!HTML 5 规范的设计初衷就是最大限度地 “兼容” 互联网上随处可见的不规范页面。
归纳起来,HTML 5 存在如下几点语法变化。
1. 标签不再区分大小写
标签前后大小写不匹配,但这符合HTML5的规范
2.元素可以省略结束标签
HTNI5 显得十分宽容,它允许部分 HTML 元素省略结束标签,甚至允许 HTML 元素同时省路开始标签和结束标签。具体来说,HTML5中的省略标签可分为如下三种。
空元素语法的元素:area、base、br、 col command、embed、hr、 img、input、keygen、link、mata、param、source、 wbr.
这些空元素标签不允许将开始标签和结束标签分开定义。
可以省略结束标签的元素:colgroup. dt. dd. li. optgroup. option. p. rt. rp. thead. tbody. tfoot. tr. td. th。
这种语法纯属向以前那些不规范的 HTML 页面妥协
可以省略全部标签的元素:html. head. body. tbody。
3.允许省略属性值的属性
XHTML 要求所有元素的所有属性名都应该小写,所有属性都必须指定属性值,不能简写:而且所有属性值必须使用引号引起来。
HTML 5 再次回归“松散” 的语法,允许部分“标志性”的属性可以省略属性值。
当然,如果开发者习惯了 XHTML 严格的语法,HTML 5 同样也支持那种严格的语法
如果完全省略这些属性(连属性名都不出现),那么该属性的属性值相当于 false。
4.允许属性值不使用引号
传统的 XHTML 按XML 规范对属性值进行要求,要求所有的属性值都必须用引1号引起来,但 HTML 5 允许直接给出属性值,即使不放在引号中也是正确的。
需要说明的是,如果某个属性的属性值包含空格等容易引起浏览器混淆的屆性值,那么HTML 5 依然建议使用引1号把这种特殊的属性值引起来。假如我们在my images 目录下存有一张android.png 图片。