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

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

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

  最新的Firefox(默认为4.0以后的版本)与WebKit浏览器引擎中都迅速封装了HTML使用的分析器,IE与Opera也在努力加快对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>

---------------------------------------------------------------------------------------------------------------------------------------

现在世界知名的主流浏览器有:Internet Explore、Chrome、Firefox、Safari、Opera等,他们早在2010年就已经纷纷表示大力支持HTML5,时间轴如下:

  2010年3月16日,微软在MIX10技术大会上宣布IE9已经推出,将更多支持CSS3和HTML5等互联网浏览通用标准。

  2010年2月19日,谷歌项目经理伊安-费特通过博客宣布谷歌Chrome将一直积极发展HTML5项目。

  2010年6月7日,苹果在开发者大会宣布发布Safari 5,这款浏览器支持10个以上的HTML5新技术,包括:全屏播放、HTML5视频、HTML5地理位置、HTML5切片元素、HTML5可拖动属性等等。

  2010年5月5日,Opera公司首席技术Hakon Wium Lie,号称“CSS之父”也认为,HTML5与CSS3将是全球互联网发展的未来趋势。

  2012年7月,Mozila推出Firfox4,已经对HTML5是完全级别的支持。

--------------------------------------------------------------------------------------------------------------------------------------------

HTML5的意图是要把Web上存在的各种问题,一并解决。那么Web上存在哪些问题,HTML5是如何解决这些问题的呢?

   1.Web浏览器之间的兼容性很低。解决方法:HTML5详细分析各个浏览器所具有的的功能,然后以此为基础,要求这些浏览器所有内部功能符合一个通用 标准。这样,各浏览器都能正常运行的可能性大大提高。而且,今后开发者开发出来的Web功能只要复合通用标准,Web浏览器也都愿意封装该功能。

  2.文档结构不够明确。解决方法:HTML5中,追加了很多跟结构相关的元素。不仅如此,还结合了包括微格式、无障碍应用在内的各种各样的周边技术。

  3.Web应用程序功能受到限制。解决方法:HTML5已经开始提供各种各样Web应用上的新API,各浏览器也在快速封装这些API,HTML5已经使富Web应用的实现变成了可能。

正确看待HTML5的语法变化的更多相关文章

  1. HTML5 标签语法变化和使用概念

    1.H5与H4的区别 概念的变化: H5更注重内容与结构,不再只专注于表现. 声明与标签: 新的声明背简化: <!DOCTYPE html> <meta charset=utf-8& ...

  2. Swift3.0语法变化

    写在前面 首先和大家分享一下学习新语法的技巧:用Xcode8打开自己的Swift2.3的项目,选择Edit->Convert->To Current Swift Syntax- 让Xcod ...

  3. 正确看待POW与POS,总结与区分

    POW:Proof of Work,工作证明. 比特币在Block的生成过程中使用了POW机制,一个符合要求的Block Hash由N个前导零构成,零的个数取决于网络的难度值.要得到合理的Block ...

  4. 前端面试之HTML5的新变化

    前端面试之HTML5的新变化 H5新增语义化标签 头部标签 <header> :头部标签 <nav> :导航标签 <article> :内容标签 <secti ...

  5. Vue2.0中v-for迭代语法变化(key、index)【转】

    转自:http://blog.csdn.net/sinat_35512245/article/details/53966788 Vue2.0的代码中发现 $key这个值并不能渲染成功,问题如下:但是v ...

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

    标量类型声明 有两种模式: 强制 (默认) 和 严格模式. 现在可以使用下列类型参数(无论用强制模式还是严格模式): 字符串(string), 整数 (int), 浮点数 (float), 以及布尔值 ...

  7. Vue2.0中v-for迭代语法变化(key、index)

    语法发生了变化:http://blog.csdn.net/sinat_35512245/article/details/53966788 新数组语法 value in arr (value, inde ...

  8. HTML5的新变化

    1.新的html5文件类型,仅需申明在html的第一行,即 <!DOCTYPE html> 2.图形元素 figure ,将<figure>与<figcaption> ...

  9. html5+监听设备加速度变化信息

    watchAcceleration 监听设备加速度变化信息 Number plus.accelerometer.watchAcceleration( successCB, errorCB, optio ...

随机推荐

  1. Linux下安装memcached图文版

    所用到的工具: putty小软件  可以远程连接主机的小软件     然后在屏幕上输入用户名root  密码:******即可连接 由于安装这两个工具需要编译所以:第一步要进行安装编译: 习惯于将下载 ...

  2. php跨服务器传递对象

    最近因为研究跨域名,跨服务器的问题,所以无聊,就想到了一个跨服务器传递对象的问题. 想要跨服务器传递数据,那么就要使用到get或者post提交. 我这里的方法有点复杂,但是因为平时工作时,有封装相应的 ...

  3. 快速入门:触摸输入(使用 C#/VB/C++ 和 XAML 的 Windows 应用商店应用)

    原文 http://technet.microsoft.com/zh-cn/subscriptions/hh465387 快速入门:触摸输入(使用 C#/VB/C++ 和 XAML 的 Windows ...

  4. 杭电1142(最短路径+dfs)

    A Walk Through the Forest Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Jav ...

  5. 【shell】构造并遍历二位数组的一种用法

    参考shell数组的部分操作用法,实现了构造和遍历二维数组的一种方式,具体如下: #数组元素以空格分割 sites=("www.a.com www.b.com www.c.com www.d ...

  6. 学习javascript基础知识系列第三节 - ()()用法

    总目录:通过一段代码学习javascript基础知识系列 注意: 为了便于执行和演示,建议使用chrome浏览器,按F12,然后按Esc(或手动选择)打开console,在console进行执行和演示 ...

  7. hdu 5256 序列变换(LIS最长上升子序列)

    Problem Description 我们有一个数列A1,A2...An,你现在要求修改数量最少的元素,使得这个数列严格递增.其中无论是修改前还是修改后,每个元素都必须是整数. 请输出最少需要修改多 ...

  8. JQuery 选择器 *很重要 多记

    1)基本选择器: 跟CSS选择器类似 2) 层次选择器 div>span   紧接这div同一级下的全部span .one+div     同一等级的div #two~div    同一等级di ...

  9. springmvc-时间类型转换器

    springmvc 没有默认实现时间类型的转化,需要如下代码实现此功能. @InitBinder public void initBinder(HttpServletRequest request,S ...

  10. 面向切面编程(AOP)的理解

    在传统的编写业务逻辑处理代码时,我们通常会习惯性地做几件事情:日志记录.事务控制及权限控制等,然后才是编写核心的业务逻辑处理代码.当代码编写完成回头再看时,不禁发现,扬扬洒洒上百行代码中,真正用于核心 ...