02 HTML5基本结构和语法变化

首先要明确的一点,HTML5并不是对HTML4、XHTML的歌名,也就是说,原来按HTML4开发的HTML网页同样可用;如果开发者受过严格训练,喜欢XHTML那种严格、规范的语法,同样可以按XHTML的严格要求来开发HTML5。

HTML5完全遵守以下3点规则。

a:兼容性:HTML5在老版本的浏览器上也可以正常运行;

b:实用性:HTML5内部并没有特别复杂的功能,它只封装了哪些常用的简单功能;

c:非革命性的发展:HTML5并不是革命性的发展,它只是一种“妥协式”的规范。

1. HTML5基本结构

如果你已经有HTML4的基础,将会发现学习HTML5非常简单,只要把HTML4中的DTD定义改为如下形式即可。

<!DOCTYPE html>

HTML5对元素大小写不再严格区分,开发者可以随意使用大小写字符来定义HTML元素。

对于一份基本的HTML5文档而言,它总有如下结构:

    <!DOCTYPE html>
     <html>
     <head>
     <title>页面标题</title>
     <meta http-equiv=“Content-Type” content=“text/html; charset=gb2312”/>
     <!- - 此处还可插入其他meta、样式单等信息 -->
     </head>
     <body>
          页面内容
     </body>
     </html>

从上面代码可以看出,HTML5的根元素依然是<html.../>,这个固定不变的内容。在<html.../>这个元素里包含<head.../>和<body.../>两个子元素。<head.../>元素主要定义HTML5文档的页面头,其中<title.../>元素用于定义页面标题,除此之外,还可以在<head.../>元素中定义meta、样式单等信息;<body.../>元素用于定义页面主体,包括页面的文本内容和绝大部分标签。

HTML5支持两种方式来指定页面的字符集。

使用Content-Type指定页面所用的字符集。eg:

<meta http-equiv=“Content-Type” content=“text/html; charset=gb2312” />

直接使用charset指定页面所用的字符集。eg:

<meta charset=“gb2312” />

注意:不要在<html>和<head>,</head>和<body>,</body>和</html>之间插入任何内容!

2. HTML5的语法变化

HTML5的语法发生了一些变化,这些变化的最大特征就是:HTML5更宽容了!HTML5规范的设计初衷就是最大限度地“兼容”互联网上随处可见的不规范页面。

归纳起来,HTML5存在如下几点语法变化:

 a:标签不在区分大小写

<p>Rodolfo讲述H5</P>中<p.../>元素的开始比爱哦前和结束标签的大小写并不匹配,但这完全符合HTML5规范。

     b:元素可以省略结束标签

     HTML5显得十分宽容,它允许部分HTML元素省略结束标签,甚至允许HTML元素同时省略开始标签和结束标签。具体来说,HTML5中的省略标签可分为如下三种:

(1)空元素语法的元素:area、base、br、col、command、embed、hr、img、input、keygen、link、meta、param、source、war。

空元素不允许将开始标签和结束标签分开定义。例如,<img.../>元素不允许写成如下形式:

<img src=“a.gif” alt=“a”></img> (这是错误的)

<img…/>元素应该是空元素,应该写成:    

<img sec=“a.gif” alt=“a” />

与此同时,HTML5并不要求遵守XML规范,因此<img.../>元素写成如下形式也是正确的:

<img src=“a.gif” alt=“a">

(2)可以省略结束标签的元素:

colgroup、dt、dd、li、optgroup、option、p、rt、rp、thead、tbody、tfoot、tr、td、th。

(3)可以省略全部标签的元素:html、head、body、tbody。

     c:允许省略属性值的属性

     HTML5中允许省略属性值的属性:

checked、readonly、disabled、selected、defer、ismap、nohref、noshade、nowrap、multiple、noresize。

     d:允许属性值不使用引号

传统的XHTML按XML规范对属性值进行要求,要求所有的属性值都必须使用引号引起来,但HTML5允许直接给出顺序性质,及时不放在引号中也是正确的。

时间: 2024-12-30 04:05:14

02 HTML5基本结构和语法变化的相关文章

Html5元素及基本语法

Html5元素及基本语法 HTML标签 开始标签(opening tag):开放标签 结束标签(closing tag):闭合标签 元素 定义:HTML元素指的是从开始标签到结束标签的代码(元素以开始标签为起始以借宿标签终止) 元素的内容:元素的内容指的是开始标签与结束标签之间的内容 元素的特点: 1,大多数HTML元素可嵌套(可以包括其他的HTML元素) 2,HTML文档有嵌套的HTML元素构成 3,不要忘记结束标签,未来的HTML版本不允许省略结束标签 4,空的html元素 5,没有内容的h

C/C++结构体语法总结

结构体简介结构体属于聚合数据类型的一类,它将不同的数据类型整合在一起构成一个新的类型,相当于数据库中一条记录,比如学生结构体,整合了学号,姓名等等信息.结构体的好处就是可以对这些信息进行整体管理操作,类似面向对象中类的属性,有了结构体,我就可以更好抽象描述一个类别,个人感觉类就是由结构体发展而来的.在C/C++中,结构体声明的关键字为struct. C语言结构体语法第一种语法表示struct 结构体名称{    数据类型 member1:    数据类型 member2; }; 这种方式在声明结

JavaScript权威指南第02章 词法结构

词法结构 2.1字符集 JavaScript 是Unicode字符集编写,几乎支持地球上所有的语言. 2.1.1区分大小写 javascript是区分大小写的语言. 2.1.2 空格.换行符和格式控制符 javascript会忽略标识之间的空格符.换行符.通过空格和换行可以大大地提高代码的可读性.当需要使用空格和换行符时,使用Unicode的转义来实现. 2.2注释 单行注释     //这里是单行注释 多行注释    /**多行注释 */ 2.3直接量 在程序中能够直接使用的量,比如数字,字符

1.HTML5新增结构元素

HTML5新增结构元素: header元素表示页面中一个内容区块或整个页面的标题. section元素表示页面中的一个内容区块,比如章节.页眉.页脚或页面中的其他部分.它可以与h1.h2.h3.h4.h5./6等元素结合使用,标示文档结构. article元素表示页面中的一块与上下文不相关的独立内容,譬如博客中的一篇文章或报纸中的一篇文章. aside元素表示article元素的内容之外的.与article元素的内容相关的辅助信息. nav元素表示页面中导航链接的部分. footer元素报时整个

结构体语法梳理2-指针与一维数组

结构体指针与结构体数组 1.1 指针复习 对于指针的理解,我们一方面从语法层面上理解,一方面编译器角度理解会发生什么事情. type  *p = value; p+i   的结果是 value+sizeof(type)*i 对于指针变量p ,*前面的type决定了 如何通过p存储的地址去访问内存. 比如 int  *p1 = 0x10; char *p2 = 0x10; double  *p3 = 0x10; *p1 从 0x10地址处访问四个字节,并且把这四个字节的数据当int类型来看. *p

HTML5 新增结构元素分为主体结构元素和非主体结构元素

做移动端有一段时间,今天有同事问了我 article 和 section 标签的使用,模模糊糊的解释了下,他似懂非懂,有点小尴尬.忽然间觉得自己有必要再翻翻书籍,重温下 html5 的新元素.今天先介绍下 html5 新增的结构元素,有的经常使用到,有的用不上,虽然说它们的出现是更促进页面更有语义,更好的 seo,但其实当页面禁用样式后,它们的展现跟 div 是没撒差别,有同学可能会说,既然一样,又不影响页面的最终展现,不管是 article 还是 section 能用就好了.如果考虑实际项目的

HTML5新结构标签和移动端页面布局

--------------------HTML5新结构标签--------------------1.h5新增的主要语义化标签如下: 1.header 页面头部.页眉 2.nav 页面导航 3.article 一篇文章 4.section 文章中的章节 5.aside 侧边栏 6.footer 页面底部.页脚pc端兼容需要引用对应的js脚本<script type="text/javascript" src="//cdn.bootcss.com/html5shiv/r

正确看待HTML5的语法变化

也许会有人问:“HTML4已经很普及了,如果改变基础语法,会不会有什么影响?” 我们都知道,在HMTL5之前几乎没有符合标准规范的Webu浏览器!在这种情况下,各个浏览器之间的互相兼容性和互操作性在很大程度上取决于网站建设开发者的努力,而浏览器本身始终是存在缺陷的. 前面章节讲过,HTML5就是把解决各Web浏览器的兼容性作为目标的.所以各Web浏览器的供应商们可以把HTML5分析器集中封装在自己的浏览器中. 最新的Firefox(默认为4.0以后的版本)与WebKit浏览器引擎中都迅速封装了H

浅析PHP7新功能及语法变化总结

标量类型声明 有两种模式: 强制 (默认) 和 严格模式. 现在可以使用下列类型参数(无论用强制模式还是严格模式): 字符串(string), 整数 (int), 浮点数 (float), 以及布尔值 (bool).在旧版中,函数的参数声明只能是(Array $arr).(CLassName $obj)等,基本类型比如Int,String等是不能够被声明的 <?php function check(int $bool){ var_dump($bool); } check(1); check(tr