HTML5对比HTML4的主要改变和改进总结


Posted in HTML / CSS onMay 27, 2016

这段时间一直在帮老师做项目比较忙,经常课都没去上,就泡在实验室里,也没什么时间看其他东西了。我在项目中分配到了前端页面设计这一块,有时候浏览网页看到移动端APP和html5最近都比较火的,随着移动互联网快速发展,尤其是4G时代已经来临,加上微软在win10中搭载了新的浏览器edge取代了IE的地位,所以现在很多网站都开始抛弃IE朝着html5发展,这是一种趋势,尤其是在移动端网页这块,而PC端在不同浏览器之间还是有部分兼容性问题亟待解决,但是不久的将来,html5将会成为浏览器标记语言的霸主。

什么是html5?
html5最先由WHATWG(Web 超文本应用技术工作组)命名的一种超文本标记语言,随后与W3C组织的xhtml2.0(标准)相结合,产生现在最新一代的超文本标记语言。可以简单点理解成:HTML 5 ≈ HTML+CSS 3+javascript+API

我们现在web前端开发的静态网页,一般都是html4.01。同时符合W3C规范。那么他们两者直接又有什么实质性的区别呢?

1.在文档类型声明上

html:

XML/HTML Code复制内容到剪贴板
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"

    >  
  2. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">  

html5:

XML/HTML Code复制内容到剪贴板
    XML/HTML Code复制内容到剪贴板
    1. <!DOCTYPE html>    
    由这两者对比可见:在文档声明上,html4有很长的一段代码,并且很难记住这段代码,想必很多人都是靠工具直接生成的吧?而html5却是不同, 只有简简单单的声明,这也方便人们的记忆。

2.设置页面字符编码
在HTML5中可以使用对<meta>元素直接追加charset属性的方式来指定字符编码, 如下所示:

html:<meta charset= “UTF-8 ”>

html5:<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

从HTML5开始, 对于文件的字符编码推荐使用UTF-8。

3.在结构语义上

html:没有体现结构语义化的标签,我们通常都是这样来命名的div id="header".这样表示网站的头部。

html5:在语义上却有很大的优势。提供了一些新的标签,比如:header、article、footer

提供这样的标签有什么样的好处呢?我觉得最主要还是在SEO的优化上,不管是我们自己来对网页模块命名,还是有这样的标签。因为做网站 最终的目的只有一个,那就是盈利。想盈利的话,就只有通过SEO优化的技术,把你网站排名做上来,这样你的网站才有价值,正是这一点,html5符合了这一点。为什么这么说呢?因为他定义的这些标签,更加有利于优化,蜘蛛能识别你。

4.其他新增内容
新增的input类型包括:number(数字),date(日期),color(颜色),range(范围)等等。

新的内联元素包括 time、meter 和 progress。

新的内嵌元素有 video 和 audio。新的交互元素有 details、datagrid 和 command。

5.<canvas>标签替代Flash
Flash给很多Web开发者带来了麻烦,要在网页上播放Flash需要一堆代码和插件。<canvas>标签使得开发者只要使用一个标签就 能和用户产生UI交互。虽然目前<canvas>标签还不能实现Flash的所有功能,但是很快<canvas>就会让 Flash看起来老土,哈哈!

6.废除的元素
能用css替代的元素:对于basefont、big、font、s、tt、u、这些元素,由于它们的功能都是纯粹的 画面展示服务的,而HTML5中提倡把画面展示性功能放在css样式中统一编辑,所以将这些元素废除。

不再使用Frame框架:由于frame框架对网页可用性存在负面影响,html5中不支持frame,只支持iframe框架,或者用服务器创建的多个页面组成的复合页面的形式。

只有部分浏览器支持的元素:applet、bgsound、blink、marquee等元素。bgsound和marquee只被ie支持,被html5废除。其中applet元素可由embed元素或object元素替代,bgsound元素可由audio元素替代,marquee可以由javascript编程方式替代。

总结:虽然在前几年html5已经出来了,但是那时候因为不够成熟,时机不对,才没被兴起。在这互联网高速发展的时候,也是来临4G的时代。 我们还不学习hml5+css3我们就out了!

HTML / CSS 相关文章推荐
CSS3截取字符串实例代码【推荐】
Jun 07 HTML / CSS
CSS3教程(6):创建网站多列
Apr 02 HTML / CSS
使用JS+CSS3技术:让你的名字动起来
Apr 27 HTML / CSS
简单介绍CSS3中Media Query的使用
Jul 07 HTML / CSS
CSS3+HTML5+JS 实现一个块的收缩与展开动画效果
Nov 17 HTML / CSS
详解FireFox下Canvas使用图像合成绘制SVG的Bug
Jul 10 HTML / CSS
突破canvas语法限制 让他支持链式语法
Dec 24 HTML / CSS
推荐10个HTML5响应式框架
Feb 25 HTML / CSS
canvas绘制圆角头像的实现方法
Jan 17 HTML / CSS
html5用video标签流式加载的实现
May 20 HTML / CSS
浅谈为什么我的 z-index 又不生效了
Jul 15 HTML / CSS
box-shadow单边阴影的实现
May 21 HTML / CSS
Html5实现用户注册自动校验功能实例代码
May 24 #HTML / CSS
用HTML5的canvas实现一个炫酷时钟效果
May 20 #HTML / CSS
深入理解HTML的FormData对象
May 17 #HTML / CSS
html5 实现客户端验证上传文件的大小(简单实例)
May 15 #HTML / CSS
【HTML5】Canvas绘制简单图片教程
May 13 #HTML / CSS
HTML5实现页面切换激活的PageVisibility API使用初探
May 13 #HTML / CSS
HTML5中的强制下载属性download使用实例解析
May 12 #HTML / CSS
You might like
PHP 身份证号验证函数
2009/05/07 PHP
jQuery 源码分析笔记
2011/05/25 PHP
PHP用星号隐藏部份用户名、身份证、IP、手机号等实例
2014/04/08 PHP
浅谈Eclipse PDT调试PHP程序
2014/06/09 PHP
浅谈php和.net的区别
2014/09/28 PHP
ThinkPHP表单令牌错误的相关解决方法分析
2016/05/20 PHP
Zend Framework入门教程之Zend_Config组件用法详解
2016/12/09 PHP
php上传excel表格并获取数据
2017/04/27 PHP
PHP实现倒计时功能
2020/11/16 PHP
判断是否输入完毕再激活提交按钮
2006/06/26 Javascript
半角全角相互转换的js函数
2009/10/16 Javascript
优化javascript的执行速度
2010/01/23 Javascript
JavaScript中各种编码解码函数的区别和注意事项
2010/08/19 Javascript
JavaScript高级程序设计 阅读笔记(十三) js定义类或对象
2012/08/14 Javascript
setInterval与clearInterval的使用示例代码
2014/01/28 Javascript
jQuery中prependTo()方法用法实例
2015/01/08 Javascript
js判断鼠标左、中、右键哪个被点击的方法
2015/01/27 Javascript
JS实现表格数据各种搜索功能的方法
2015/03/03 Javascript
JavaScript中通过提示框跳转页面的方法
2016/02/14 Javascript
web 前端常用组件之Layer弹出层组件
2016/09/22 Javascript
走进javascript——不起眼的基础,值和分号
2017/02/24 Javascript
微信小程序 实现动态显示和隐藏某个控件
2017/04/27 Javascript
JavaScript注册时密码强度校验代码
2017/06/30 Javascript
微信小程序 循环及嵌套循环的使用总结
2017/09/26 Javascript
Vue下滚动到页面底部无限加载数据的示例代码
2018/04/22 Javascript
Python数据结构与算法之完全树与最小堆实例
2017/12/13 Python
python机器人行走步数问题的解决
2018/01/29 Python
解决Python pandas df 写入excel 出现的问题
2018/07/04 Python
DRF跨域后端解决之django-cors-headers的使用
2019/01/27 Python
Python使用random模块生成随机数操作实例详解
2019/09/17 Python
编码转换,怎样实现将GB2312编码的字符串转换为ISO-8859-1编码的字符串
2014/01/07 面试题
医学生求职自荐书
2014/06/12 职场文书
“四风”问题的主要表现和危害思想汇报
2014/09/19 职场文书
劳动纠纷调解协议书格式
2014/11/30 职场文书
Pandas 数据编码的十种方法
2022/04/20 Python
Redis+AOP+自定义注解实现限流
2022/06/28 Redis