html5\CSS3有哪些新特性、移除了哪些元素?如何处理HTML5新标签的浏览器兼容问题?如何区分HTML和HTML5?
(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声明
- 新增的元素
最新文章
- SQL中跨服务器查询
- SQL Server 之 GROUP BY、GROUPING SETS、ROLLUP、CUBE
- CSS对浏览器的兼容性(IE和Firefox)技巧整理
- 什么是双线双IP,什么叫双线双IP
- mysql-gdb--oracle
- Ubuntu下Django初体验(一)——开发环境搭建
- [置顶] HDFS文件内容追加(Append)
- [转]ios 数据的传递
- 14.什么是jsp动作
- 【Django】学习资料
- 『这是一篇干货blog』
- node20180927
- 搭建一个简单的Eureka程序
- android项目导入eclipse变成java项目——修改.project文件——亲测有效
- zepto.min.js
- centos安装pg以及pg配置ssl
- [POI2007]堆积木Klo
- SD从零开始31-32
- linux下简单的备份的脚本 2 【转】
- INI
热门文章
- (转)【干货】MySQL 5.7 多实例(多进程)配置教程
- Python3 print()函数sep,end,file参数用法练习
- (转)mysql双机热备的实现
- 第1章—Spring之旅—简化Spring的java开发
- Ubuntu14.04下Ambari安装搭建部署大数据集群(图文分五大步详解)(博主强烈推荐)
- springboot+zuul(二)------智能负载
- 使用Symantec代码签名证书对代码进行签名的 5 个理由
- [转]MONTHS_BETWEEN Function - Oracle to SQL Server Migration
- MVC缓存(二)
- 一个简单的json解析器