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. 通过自制yum源离线安装ansible

    系统环境 --CentOS release 7 python版本--Python 3.5.4   背景:在企业环境中,安装ansible的服务器往往不能访问互联网,简单的下载ansible源码安装,会 ...

  2. 准时制生产(Just in Time,JIT)

    准时制生产(Just in Time,JIT)称为及时生产,出自日本丰田.         1.JIT生产方式的管理理念     JIT的基本概念事指在所需要的精确时间内,按所需要的质量和数量,生产所 ...

  3. Unity基础之:UnityAPI的学习

    版权声明: 本文原创发布于博客园"优梦创客"的博客空间(网址:http://www.cnblogs.com/raymondking123/)以及微信公众号"优梦创客&qu ...

  4. 为什么建立数据仓库需要使用ETL工具?

    在做项目时是不是时常让客户有这样的困扰: 1.开发时间太长 2.花费太多 3.需要太多资源 4.集成多个事务系统数据总是需要大量人力成本 5.找不到合适的技能和经验的人 6.一旦建立,数据仓库无法足够 ...

  5. 『深度应用』NLP命名实体识别(NER)开源实战教程

    近几年来,基于神经网络的深度学习方法在计算机视觉.语音识别等领域取得了巨大成功,另外在自然语言处理领域也取得了不少进展.在NLP的关键性基础任务—命名实体识别(Named Entity Recogni ...

  6. 100天搞定机器学习|Day 30-32 微积分的本质

    3blue1brown系列课程,精美的动画,配上生动的讲解,非常适合帮助建立数学的形象思维,非常值得反复观看: http://www.3blue1brown.com/ 哔哩哔哩: https://sp ...

  7. JVM(十一):内存分配

    JVM(十一):内存分配 在前面的章节中,我们花了大量的篇幅去介绍 JVM 内的内存布局.对象在内存中的状态.垃圾回收的算法和具体实现等.今天让我们探讨一下对象是如何分配内存的. 堆内存划分 前面说过 ...

  8. win server 2008搭建域环境

    0x00 简介 1.域控:win server 2008 2.域内服务器:win server 2008.win server 2003 3.域内PC:win7 x64.win7 x32.win xp ...

  9. Spring自定义属性编辑器及原理解释.md

    bean的自动装配解释 手动解决方式 自动注入解决方式 bean的自动装配解释 之前有构造注入和设值注入,但是也是手动的 autowire ="byname" 这里要注意自动装配的 ...

  10. Spring Cloud Zuul的动态路由怎样做?集成Nacos实现很简单

    一.说明 网关的核心概念就是路由配置和路由规则,而作为所有请求流量的入口,在实际生产环境中为了保证高可靠和高可用,是尽量要避免重启的,所以实现动态路由是非常有必要的:本文主要介绍实现的思路,并且以Na ...