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. 10个常用的linux的命令

    以下就是今天我们要介绍的Linux命令:  man  touch, cat and less  sort and grep  cut  sed  tar  find  diff  uniq  chmo ...

  2. Selenium模拟登陆百度贴吧

    Selenium模拟登陆百度贴吧 from selenium import webdriver from time import sleep from selenium.webdriver.commo ...

  3. 基于Spring注解的上下文初始化过程源码解析(一)

    最近工作之余有时间和精力,加上平时对源码比较感兴趣,就开始啃起了Spring源码.为加深印象写了这篇博客,如有错误,望各位大佬不吝指正. 我看的是Spring5的源码,从同性社区download下来后 ...

  4. Romantic HDU - 2669(扩欧)

    #include<bits/stdc++.h> using namespace std; typedef long long LL; void gcd(LL a, LL b, LL &am ...

  5. Leader-Follower线程模型简介

    参考58沈剑大神架构师之路上的文章,谈谈Leader-Follower线程模型: 上图就是L/F多线程模型的状态变迁点,共6个关键点: (1)线程有3种状态:领导leading,处理processin ...

  6. vscode导入已存在的vue.js工程

    1.安装vue_cli 如果安装了npm,直接在命令行输入npm install -g vue-cli,安装在全局组件目录下 完成后,可以在命令测试下 2.导入工程 打开vscode-------&g ...

  7. ABAP 查看采购订单行项目已开票金额和已清金额

    FUNCTION zmm_fm_po_invence. *"----------------------------------------------------------------- ...

  8. mysql row size上限

    mysql innodb 的 row size上限 背景 在项目使用中,出现了以下报错: Error Code: 1118 - Row size too large (> 8126). Chan ...

  9. exlipse php 插件安装地址

    以前的exlipse PHP插件老是有问题,下面这个地址可以使用. http://www.phpsrc.org/eclipse/pti/

  10. C#自动计算字符串公式的四种方法

    原地址:https://blog.csdn.net/ifu25/article/details/53292134 四种方式 简单粗暴:利用SQL数据库计算 功能强大:利用JavaScript计算 看不 ...