HTML5简介

HTML是互联网上应用最广泛的标记语言。HTML文件就是普通文本+HTML标记,而不同的HTML标记能表示不同的效果。(简单的说HTML是超文本标记语言)

HTML5草案的前身名为 Web Applications 1.0,于2004年被WHATWG提出,于2007年被W3C接纳,并成立了新的 HTML工作团队。

如果从狭义的角度来讲,HTML5就是HTML4的新一代产品。

而如果从广义的角度来讲,则是新一代的富客户端解决方案

1. HTML到HTML5

  1. 元素的标签名大小写混杂的情况。
  2. 元素没有合理结束的情况。
  3. 元素中使用了属性,但没有制定属性值的情况。
  4. 为元素的属性制定属性值时没有使用引号。

2. HTML5的优势

支持Html5的浏览器包括Firefox(火狐浏览器),IE9及其更高版本,Chrome(谷歌浏览器),SafariOpera等;国内的 遨游浏览器(Maxthon),以及基于IEChromiumChrome的工程版或称实验版)所推出的360浏览器搜狗浏览器QQ浏览器猎豹浏览器等国产浏览器同样具备支持HTML5的能力。

需要注意的是,虽然很多浏览器目前已经能够支持HTML5,但是显示效果仍旧存在差异性。这时,我们如果从样式的角度出发,可以采用下面的几种css方案。

3. HTML5基本结构与语法变化

HTML5基本结构

<!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支持两种方式来指定页面的字符集。
     使用Content-Type指定页面所用的字符集。eg:  
<meta http-equiv=“Content-Type” content=“text/html; charset=gb2312” />
     直接使用charset指定页面所用的字符集。eg:
<meta charset=“gb2312” />
     注意:不要在<html>和<head>,</head>和<body>,</body>和</html>之间插入任何内容!
 
 
HTML5语法变化
 

也许会有人问:“HTML4已经很普及了,如果改变基础语法,会不会有什么影响?”

  我们都知道,在HMTL5之前几乎没有符合标准规范的Webu浏览器!在这种情况下,各个浏览器之间的互相兼容性和互操作性在很大程度上取决于网站建设开发者的努力,而浏览器本身始终是存在缺陷的。

  前面章节讲过,HTML5就是把解决各Web浏览器的兼容性作为目标的。所以各Web浏览器的供应商们可以把HTML5分析器集中封装在自己的浏览器中。

  最新的Firefox(默认为4.0以后的版本)与WebKit浏览器引擎中都迅速封装了HTML使用的分析器,IE与Opera也在努力加快对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允许直接给出顺序性质,及时不放在引号中也是正确的。

  扩展知识:

   HTML语法是在SGML语言的基础上建立的。但是SGML语法很复杂,要开发能够解析SGML语法的程序也很不容易,所以很多浏览器都不包含SGML 分析器。一次,虽然HTML基本上遵从SGML语法,但是对于HTML的执行在各个浏览器之前没有一个统一的标准。所以也就有了HTML5为之努力实现各 浏览器见的标准。

  SGML(Standard Generalized Markup Language)标准通用标记语言,是现时常用的超文本格式的最高层次标准,是可以定义标记语言的元语言,甚至可以定义不必采用< >的常规方式。由于SGML的复杂,因而难以普及。

  SGML例子:

<QUOTE TYPE="example"
typically something like <ITALICS>this</ITALICS

</QUOTE>

HTML5基本介绍的更多相关文章

  1. 基于jQuery HTML5人物介绍卡片特效

    基于jQuery HTML5人物介绍卡片特效.这是一款基于jquery.material-cards插件实现的人物介绍卡片形式特效代码.效果图如下: 在线预览   源码下载 实现的代码. html代码 ...

  2. WEB安全番外第二篇--明日之星介绍HTML5安全问题介绍

    一.CORS领域问题: 1.CORS的介绍请参考:跨域资源共享简介 2.HTML5中的XHR2级调用可以打开一个socket连接,发送HTTP请求,有趣的是,上传文件这里恰恰是multi-part/f ...

  3. HTML5简略介绍

    今天要说下 HTML5特有的一个元素 canvas ,旨在让web页面上作矢量图不需要在依靠flash或是其他插件,在网页上使用canvas元素时,它会创建一块矩形区域,默认300*150,当然也是可 ...

  4. html5技术介绍

    什么是HTML5 1>网页的5.0版本 1> 2014年才定制完HTML5的标准,历时8年 2> 移动先行 为什么要用HTML5 1> 跨平台 利用HTML5编写的UI界面能运 ...

  5. IT兄弟连 HTML5教程 介绍HTML5给你认识 习题

    1.关于HTML5说法正确的是:(C) A.HTML5只是对HTML4的一个简单升级 B.所有主流浏览器都支持HTML5 C.HTML5新增了离线缓存机制 D.HTML5主要是针对移动端进行了优化 2 ...

  6. HTML5页面介绍

    1.<!DOCTYPE html>     文档声明:用于告诉浏览器使用html哪个版本的标准解析页面,此写法代表使用html5的标准去解析 2.<html>     根标签, ...

  7. Html5 Canvas介绍

    1. 获取绘图上下文 var mycanvas = document.getElementById('mycanvas'); var context = mycanvas.getContext('2d ...

  8. HTML最新标准HTML5小结

    写在前面 HTML5出来已经很久了,然而由于本人不是专业搞前端的,只知道有这个东西,具体概念有点模糊(其实就是一系列标准规范啦):因此去年(2015.11.09),专门对HTML5做了个简单的小结,今 ...

  9. HTML5本地存储——Web SQL Database

    在HTML5 WebStorage介绍了html5本地存储的Local Storage和Session Storage,这两个是以键值对存储的解决方案,存储少量数据结构很有用,但是对于大量结构化数据就 ...

随机推荐

  1. centos开发环境安装

    执行 yum install gcc gcc-c++ gcc-g77 flex bison autoconf automake bzip2-devel zlib-devel ncurses-devel ...

  2. python基础--基于套接字进行文件传输、异常处理、socketserver模块

    异常处理: 什么是异常处理: 程序在运行过程中出现了不可预知的错误,并且该错误没有对应的处理机制,那么就会以异常的形式表现出来,造成的影响就是整个程序无法再正常运行 异常的结构: 异常的类型.异常的信 ...

  3. Cookie&Session

    Cookie&Session 背景:Cookie和Session的原理.作用及如何设置和相关面试. 一.诞生背景 HTTP是无状态的,即服务器无法知道两个请求是否来自同一个浏览器,也就是服务器 ...

  4. map的实现和柯里化(Currying)

    版权申明:本文为博主窗户(Colin Cai)原创,欢迎转帖.如要转贴,必须注明原文网址 http://www.cnblogs.com/Colin-Cai/p/11329874.html 作者:窗户 ...

  5. java秒杀系列(2)- 页面静态化技术

    前言 通过代码片段分别介绍服务端渲染.客户端渲染.对象缓存三种方式的写法. 代码片段仅供参考,具体实现需要根据业务场景自行适配,但思想都是一样. 一.服务端渲染方式 1.接口返回html页面的设置 @ ...

  6. 依赖注入在 dotnet core 中实现与使用:1 基本概念

    关于 Microsoft Extension: DependencyInjection 的介绍已经很多,但是多数偏重于实现原理和一些特定的实现场景.作为 dotnet core 的核心基石,这里准备全 ...

  7. Android开发实践小结

    作为一名搬运工,应该懂得避免重复创建轮子. 配置keystore密码信息 通常在app/build.gradle中我们会使用以下方式配置: signingConfigs { release { sto ...

  8. 如何处理scrum中未完成的用户故事?

    你听过柏林新建机场的故事吗?机场原定2006年开工,2007年启用,但由于机场建设过程中到处出现施工和安全问题,补东墙漏西墙,导致工期一拖再拖,预算一涨再涨,以至于2019年了还没开张,预计开业时间已 ...

  9. Python模块之pexpect

    一.pexpect模块介绍 Pexpect使Python成为控制其他应用程序的更好工具.可以理解为Linux下的expect的Python封装,通过pexpect我们可以实现对ssh,ftp,pass ...

  10. Springboot源码分析之番外篇

    摘要: 大家都知道注解是实现了java.lang.annotation.Annotation接口,眼见为实,耳听为虚,有时候眼见也不一定是真实的. /** * The common interface ...