让ie浏览器成为支持html5的浏览器的解决方法(使用html5shiv)


Posted in HTML / CSS onApril 08, 2014

如今HTML5愈来愈引发大家的关注了,但目前支持HTML5的浏览器还不是主流,特别是国内用户近50%以上仍旧使用IE6,由于支持HTML5的IE9不支持Xp系统安装,这样未来很长一段时间,HTML5的开发者将必须考虑向下兼容的问题。HTML5的标签或CSS选择器兼容性的做法有很多,其中自己生成标签元素就是一种。

基本原理参见如下代码在IE8中效果,样式根本没有起作用。

复制代码
代码如下:

<html>
<head>
<style>mxria{ color: red; }</style>
</head>
<body>
<mxria>Hello!</mxria>
</body>
</html>

让ie浏览器成为支持html5的浏览器的解决方法(使用html5shiv)

为了是浏览器识别<mxria></mxria>标签并显示对应样式的效果,我们可以如下增加一段js,看到效果就不同了

复制代码
代码如下:

<html>
<head>
<style> mxria{ color: red; }</style>
<script>document.createElement("mxria")</script>
</head>
<body>
<mxria>Hello!mxria.com</mxria>
</body>
</html>

让ie浏览器成为支持html5的浏览器的解决方法(使用html5shiv)

现在大家明白了其中的奥妙吧!对,就是document.createElement  ,HTML5 shiv就是这样一个js插件,将所有HTML5的标签进行了重新生成,你需要加载该插件,那么HTML5程序就能被所有浏览器识别了。
下载地址:http://html5shim.googlecode.com/svn/trunk/html5.js

trunk/html5.js简单使用方法:

下面是引用Google的html5.js文件:

html5shiv的使用非常的简单,考虑到IE9是支持html5的,所以只需要在页面head中添加如下代码即可:

复制代码
代码如下:

<!--[if lt IE 9]>
<script src="dist/html5shiv.js"></script>
<![endif]-->

将上代码复制到head部分,记住一定要是head部分(因为IE必须在元素解析前知道这个元素,所以这个js文件不能在其他位置调用,否则失效)

当然,你也可以把代码拿出来自己看着办:

(function(){if(!/*@cc_on!@*/0)return;var e ="abbr,article,aside,audio,canvas,datalist,details,dialog,eventsource,figure,footer,header,hgroup,mark,menu,meter,nav,output,progress,section,time,video".split(','),i=e.length;while(i--){document.createElement(e[i])}})()
最后在css里面加上这段:

/*html5*/ article,aside,dialog,footer,header,section,footer,nav,figure,menu{display:block}
主要是让这些html5标签成块状,像div那样。

好了,简单吧,一句话概括就是:引用html5.js  使html5标签成块状

HTML / CSS 相关文章推荐
需要知道的CSS3动画技术
Jan 01 HTML / CSS
让IE可以变相支持CSS3选择器
Jan 21 HTML / CSS
CSS3打造磨砂玻璃背景效果
Sep 28 HTML / CSS
CSS3实现div从下往上滑入滑出效果示例
Apr 28 HTML / CSS
从一次项目重构说起CSS3自定义变量在项目的使用方法
Mar 01 HTML / CSS
CSS3只让背景图片旋转180度的实现示例
Mar 09 HTML / CSS
html5标记文字_动力节点Java学院整理
Jul 11 HTML / CSS
HTML5语音识别标签写法附图
Nov 18 HTML / CSS
html5简介_动力节点Java学院整理
Jul 07 HTML / CSS
HTML5公共页面提取作为公用代码的方法
Jun 30 HTML / CSS
简单介绍 http请求响应参数、无连接无状态、MIME、状态码、端口、telnet、curl
Mar 31 HTML / CSS
浅谈css实现背景颜色半透明的两种方法
Dec 06 HTML / CSS
为你的html5网页添加音效示例
Apr 03 #HTML / CSS
使用jquery实现HTML5响应式导航菜单教程
Apr 02 #HTML / CSS
简单html5代码获取地理位置
Mar 31 #HTML / CSS
HTML5注册页面示例代码
Mar 27 #HTML / CSS
html5实现微信打飞机游戏
Mar 27 #HTML / CSS
html5 canvas fillRect坐标和大小的问题解决方法
Mar 26 #HTML / CSS
html5适合移动应用开发的12大特性
Mar 19 #HTML / CSS
You might like
php的控制语句
2006/10/09 PHP
php使用sql数据库 获取字段问题介绍
2013/08/12 PHP
php实现按照权重随机排序数据的方法
2015/01/09 PHP
php计算指定目录下文件占用空间的方法
2015/03/13 PHP
PHP接收json 并将接收数据插入数据库的实现代码
2015/12/01 PHP
详解thinkphp5+swoole实现异步邮件群发(SMTP方式)
2017/10/13 PHP
php实现微信企业付款到个人零钱功能
2018/10/09 PHP
JQuery自适应IFrame高度(支持嵌套 兼容IE,ff,safafi,chrome)
2011/03/28 Javascript
JS对象与JSON格式数据相互转换
2012/02/20 Javascript
zTree插件之单选下拉菜单实例代码
2013/11/07 Javascript
javascript Promise简单学习使用方法小结
2016/05/17 Javascript
基于Bootstrap的UI扩展 StyleBootstrap
2016/06/17 Javascript
canvas时钟效果
2017/02/16 Javascript
jquery实现左右轮播切换效果
2018/01/01 jQuery
使用vue-cli(vue脚手架)快速搭建项目的方法
2018/05/21 Javascript
react配置antd按需加载的使用
2019/02/11 Javascript
vue2.0自定义指令示例代码详解
2019/04/25 Javascript
vue引用外部JS的两种种方法
2020/01/28 Javascript
electron踩坑之remote of undefined的解决
2020/10/06 Javascript
js实现磁性吸附的示例
2020/10/26 Javascript
Python编程pygal绘图实例之XY线
2017/12/09 Python
python取代netcat过程分析
2018/02/10 Python
基于pandas将类别属性转化为数值属性的方法
2018/07/25 Python
Python读取配置文件(config.ini)以及写入配置文件
2020/04/08 Python
浅谈tensorflow 中的图片读取和裁剪方式
2020/06/30 Python
Python实现简单猜数字游戏
2021/02/03 Python
北卡罗来纳州豪华家具和家居装饰店:Carolina Rustica
2018/10/30 全球购物
Java程序员综合测试题
2014/04/25 面试题
高中生学期学习自我评价
2014/02/24 职场文书
学院党委班子四风问题自查报告及整改措施
2014/10/25 职场文书
2014年管理人员工作总结
2014/12/01 职场文书
先进学校事迹材料
2014/12/30 职场文书
电信营业员岗位职责
2015/04/14 职场文书
严以律己学习心得体会
2016/01/13 职场文书
redis限流的实际应用
2021/04/24 Redis
基于Java的MathML转图片的方法(示例代码)
2021/06/23 Java/Android