(1)HTML5现在已经不是SGML的子集,主要是关于图像,位置,存储,地理定位等功能的增加。

  • 绘画canvas元素;

  • 用于媒介回放的video和audio元素;

  • 本地离线存储localStorage长期存储数据,浏览器关闭后数据不丢失,sessionStorage的数据在浏览器关闭后自动删除;

  • 语意化更好的内容元素,比如article、footer、header、nav、section;

  • 表单控件,calendar、date、time、email、url、search;

  • 新的技术webworker,websockt和Geolocation。

(2)CSS3新特性:

  • 实现圆角(border-radius),阴影(box-shadow),边框图片(border-image);
  • 对文字加特效(text-shadow),强制文本换行(word-wrap),线性渐变(linear-gradient);
  • 实现旋转transform:rotate(90deg),缩放scale(0.85,0.90),translate(0px,-30px)定位,倾斜skew(-9deg,0deg);
  • 增加了更多的CSS选择器、多背景、rgba();
  • 唯一引入的伪元素是::selection ;
  • 实现媒体查询(@media),多栏布局(flex)。

(3)移除的元素

  • 纯表现的元素:basefont,big,center,font,s,strike,tt,u;
  • 对可用性产生负面影响的元素:frame,frameset,noframes;

(4)HTML5新标签的浏览器兼容问题是浏览器不能识别HTML5新标签而不能使用,解决办法有两种:

  • 方法1:实现标签被识别

通过document.createElement(tagName)方法即可让浏览器识别新标签,浏览器支持新标签后,还可以为新标签添加CSS样式。

  • 方法2:JavaScript解决方案

   A)使用html5shim:

   在<head>中调用以下代码:

    <!--[if lt IE 9]>

     <script> src="http://html5shim.googlecode.com/svn/trunk/html5.js"</script>

    <![endif]-->

   当然也可以直接把这个文件下载到自己的网站上,但这个文件必须在head标签中调用。

   B)使用kill IE6

   在</body>之前调用以下代码:

    <!--if lte IE 6]>

    <script src="http://letskillie6.googlecode.com/svn/trunk/letskillie6.zh_CN.pack.js"></script>

   <![endif]-->

(5)区分HTML和HTML5:

  • DOCTYPE声明
  • 新增的元素

最新文章

  1. SQL中跨服务器查询
  2. SQL Server 之 GROUP BY、GROUPING SETS、ROLLUP、CUBE
  3. CSS对浏览器的兼容性(IE和Firefox)技巧整理
  4. 什么是双线双IP,什么叫双线双IP
  5. mysql-gdb--oracle
  6. Ubuntu下Django初体验(一)——开发环境搭建
  7. [置顶] HDFS文件内容追加(Append)
  8. [转]ios 数据的传递
  9. 14.什么是jsp动作
  10. 【Django】学习资料
  11. 『这是一篇干货blog』
  12. node20180927
  13. 搭建一个简单的Eureka程序
  14. android项目导入eclipse变成java项目——修改.project文件——亲测有效
  15. zepto.min.js
  16. centos安装pg以及pg配置ssl
  17. [POI2007]堆积木Klo
  18. SD从零开始31-32
  19. linux下简单的备份的脚本 2 【转】
  20. INI

热门文章

  1. (转)【干货】MySQL 5.7 多实例(多进程)配置教程
  2. Python3 print()函数sep,end,file参数用法练习
  3. (转)mysql双机热备的实现
  4. 第1章—Spring之旅—简化Spring的java开发
  5. Ubuntu14.04下Ambari安装搭建部署大数据集群(图文分五大步详解)(博主强烈推荐)
  6. springboot+zuul(二)------智能负载
  7. 使用Symantec代码签名证书对代码进行签名的 5 个理由
  8. [转]MONTHS_BETWEEN Function - Oracle to SQL Server Migration
  9. MVC缓存(二)
  10. 一个简单的json解析器