让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 相关文章推荐
10个很棒的 CSS3 开发工具 推荐
May 16 HTML / CSS
CSS3中background-clip和background-origin的区别示例介绍
Mar 10 HTML / CSS
使用CSS3制作饼状旋转载入效果的实例
Jun 23 HTML / CSS
谈谈对css属性box-sizing的了解
Jan 04 HTML / CSS
css3实现背景动态渐变效果
Dec 10 HTML / CSS
浅谈HTML5 defer和async的区别
Jun 07 HTML / CSS
html5中地理位置定位api接口开发应用小结
Jan 04 HTML / CSS
2014年圣诞节倒计时网页的制作过程
Dec 05 HTML / CSS
HTML5 video标签(播放器)学习笔记(二):播放控制
Apr 24 HTML / CSS
简单整理HTML5的基本特性和语法
Feb 18 HTML / CSS
解决HTML5中滚动到底部的事件问题
Aug 22 HTML / CSS
详解canvas.toDataURL()报错的解决方案全都在这了
Mar 31 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
轻松入门: 煮好咖啡的七个诀窍
2021/03/03 冲泡冲煮
php图片验证码代码
2008/03/27 PHP
基于PHP创建Cookie数组的详解
2013/07/03 PHP
php不允许用户提交空表单(php空值判断)
2013/11/12 PHP
分享javascript实现的冒泡排序代码并优化
2016/06/05 Javascript
jQuery简单实现页面元素置顶时悬浮效果示例
2016/08/01 Javascript
AngularJS基础 ng-keypress 指令简单示例
2016/08/02 Javascript
微信开发 消息推送实现代码
2016/10/21 Javascript
js实现类bootstrap模态框动画
2017/02/07 Javascript
Vue过滤器的用法和自定义过滤器使用
2017/02/08 Javascript
jQuery+CSS3实现点赞功能
2017/03/13 Javascript
Bootstrap实现基于carousel.js框架的轮播图效果
2017/05/02 Javascript
Angular中的$watch、$watchGroup、$watchCollection
2017/06/25 Javascript
jQuery Dom元素操作技巧
2018/02/04 jQuery
详解.vue文件中style标签的几个标识符
2018/07/17 Javascript
vue ssr 实现方式(学习笔记)
2019/01/18 Javascript
Vue使用localStorage存储数据的方法
2019/05/27 Javascript
微信小程序左右滚动公告栏效果代码实例
2019/09/16 Javascript
vue实现Input输入框模糊查询方法
2021/01/29 Javascript
[01:09:50]VP vs Pain 2018国际邀请赛小组赛BO2 第二场
2018/08/20 DOTA
python list中append()与extend()用法分享
2013/03/24 Python
Python新手入门最容易犯的错误总结
2017/04/24 Python
Python实现查找二叉搜索树第k大的节点功能示例
2019/01/24 Python
python调用c++传递数组的实例
2019/02/13 Python
python关闭占用端口方式
2019/12/17 Python
基于Python测试程序是否有错误
2020/05/16 Python
Oroton中国官网:澳洲知名奢侈配饰品牌
2017/03/26 全球购物
英国厨房与餐具用品为主的设计品牌:Joseph Joseph
2018/04/26 全球购物
北大自主招生自荐信
2013/10/19 职场文书
自荐信的两点禁忌
2013/10/30 职场文书
工厂总经理岗位职责
2014/02/07 职场文书
2014年城管工作总结
2014/11/20 职场文书
2015年药店店长工作总结
2015/04/29 职场文书
竞聘开场白方式有哪些?
2019/08/28 职场文书
Matlab求解数组中的最大值及它所在的具体位置
2021/04/16 Python
Python实现照片卡通化
2021/12/06 Python