让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地图动态实例代码(圆圈向外扩散)
Jun 15 HTML / CSS
CSS3盒子模型详解
Apr 24 HTML / CSS
可自定义箭头样式的CSS3气泡提示框
Mar 16 HTML / CSS
HTML5 Canvas实现玫瑰曲线和心形图案的代码实例
Apr 10 HTML / CSS
HTML5拖放功能_动力节点Java学院整理
Jul 13 HTML / CSS
HTML5 DeviceOrientation实现手机网站摇一摇功能代码实例
Apr 24 HTML / CSS
HTML5实现预览本地图片
Feb 17 HTML / CSS
详解如何用HTML5 Canvas API控制图片的缩放变换
Mar 22 HTML / CSS
HTML5 文件域+FileReader 分段读取文件并上传到服务器
Oct 23 HTML / CSS
吃透移动端 Html5 响应式布局
Dec 16 HTML / CSS
分享几个实用的CSS代码块
Jun 10 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实现的封装验证码类详解
2013/06/18 PHP
PHP5.5迭代生成器用法实例详解
2016/03/16 PHP
PHP合并数组的2种方法小结
2016/11/24 PHP
laravel添加前台跳转成功页面示例
2019/10/22 PHP
javascript 用记忆函数快速计算递归函数
2010/03/15 Javascript
JavaScript地图拖动功能SpryMap的简单实现
2013/07/17 Javascript
JS画5角星方法介绍
2013/09/17 Javascript
Js操作Select大全(取值、设置选中等等)
2013/10/29 Javascript
javascript窗口宽高,鼠标位置,滚动高度(详细解析)
2013/11/18 Javascript
jQuery实现鼠标可拖动调整表格列宽度
2014/05/26 Javascript
JSON相关知识汇总
2015/07/03 Javascript
js漂浮广告实现代码
2015/08/15 Javascript
jquery Easyui快速开发总结
2015/08/20 Javascript
jQuery实现点击水纹波动动画
2016/04/10 Javascript
Javascript字符串拼接小技巧(推荐)
2016/06/02 Javascript
vue+vuecli+webpack中使用mockjs模拟后端数据的示例
2017/10/24 Javascript
Angular 4.x+Ionic3踩坑之Ionic 3.x界面传值详解
2018/03/13 Javascript
Nodejs 数组的队列以及forEach的应用详解
2021/02/25 NodeJs
基于python的汉字转GBK码实现代码
2012/02/19 Python
独特的python循环语句
2016/11/20 Python
Python利用字典将两个通讯录文本合并为一个文本实例
2018/01/16 Python
selenium+python实现自动登录脚本
2018/04/22 Python
python性能测试工具locust的使用
2020/12/28 Python
使用CSS3来绘制一个月食图案
2015/07/18 HTML / CSS
HTML5 window/iframe跨域传递消息 API介绍
2013/08/26 HTML / CSS
html5实现多文件的上传示例代码
2014/02/13 HTML / CSS
TripAdvisor越南:全球领先的旅游网站
2017/09/21 全球购物
SmartBuyGlasses荷兰:购买太阳镜和眼镜
2020/03/16 全球购物
大学毕业的自我鉴定
2013/10/08 职场文书
酒店大堂副理的职责范文
2014/02/13 职场文书
警示教育活动总结
2014/05/05 职场文书
2014年学生会工作总结
2014/11/07 职场文书
2019年二手房买卖合同范本
2019/10/14 职场文书
Android基于Fresco实现圆角和圆形图片
2022/04/01 Java/Android
python单向链表实例详解
2022/05/25 Python
TS 类型收窄教程示例详解
2022/09/23 Javascript