让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的方法
Aug 29 HTML / CSS
使用CSS3来制作消息提醒框
Jul 12 HTML / CSS
通过CSS3的object-fit来调整图片适配尺寸的技巧简介
Feb 27 HTML / CSS
基础的CSS3弹性盒Flexbox布局使用实例
Apr 08 HTML / CSS
CSS中越界问题的经典解决方案【推荐】
Apr 19 HTML / CSS
解决H5的a标签的download属性下载service上的文件出现跨域问题
Jul 16 HTML / CSS
用HTML5实现网站在windows8中贴靠的方法
Apr 21 HTML / CSS
HTML5中新标签和常用标签详解
Mar 07 HTML / CSS
浅析HTML5中的 History 模式
Jun 22 HTML / CSS
Html5页面中的返回实现的方法
Feb 26 HTML / CSS
JavaScript+Canvas实现自定义画板的示例代码
May 13 HTML / CSS
HTML5中input输入框默认提示文字向左向右移动的示例代码
Sep 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 配置文件中open_basedir选项作用
2009/07/19 PHP
php设计模式之单例、多例设计模式的应用分析
2013/06/30 PHP
[原创]ThinkPHP中SHOW_RUN_TIME不能正常显示运行时间的解决方法
2015/10/10 PHP
php实现遍历多维数组的方法
2015/11/25 PHP
php图片添加文字水印实现代码
2016/03/15 PHP
php进行md5加密简单实例方法
2019/09/19 PHP
thinkphp5.1 框架钩子和行为用法实例分析
2020/05/25 PHP
javascript globalStorage类代码
2009/06/04 Javascript
用jquery设置按钮的disabled属性的实现代码
2010/11/28 Javascript
ajax上传时参数提交不更新等相关问题
2012/12/11 Javascript
JavaScript+html5 canvas实现图片破碎重组动画特效
2016/02/22 Javascript
javascript使用Promise对象实现异步编程
2016/03/01 Javascript
BootStrap文件上传样式超好看【持续更新】
2016/05/10 Javascript
jQuery实现带延时功能的水平多级菜单效果【附demo源码下载】
2016/09/21 Javascript
BootStrap实现轮播图效果(收藏)
2016/12/30 Javascript
vue 实现通过手机发送短信验证码注册功能
2018/04/19 Javascript
vue2.0的虚拟DOM渲染思路分析
2018/08/09 Javascript
vue-cli的工程模板与构建工具详解
2018/09/27 Javascript
详解vue挂载到dom上会发生什么
2019/01/20 Javascript
基于vue+axios+lrz.js微信端图片压缩上传方法
2019/06/25 Javascript
[54:43]DOTA2-DPC中国联赛 正赛 CDEC vs Dynasty BO3 第一场 2月22日
2021/03/11 DOTA
python中实现定制类的特殊方法总结
2014/09/28 Python
Flask入门教程实例:搭建一个静态博客
2015/03/27 Python
python实现统计代码行数的方法
2015/05/22 Python
Python编程实现二叉树及七种遍历方法详解
2017/06/02 Python
Python使用matplotlib绘制Logistic曲线操作示例
2019/11/28 Python
纯CSS3实现漂亮的input输入框动画样式库(Text input love)
2018/12/29 HTML / CSS
联想韩国官网:Lenovo Korea
2018/05/10 全球购物
节约用水的口号
2014/06/20 职场文书
房屋维修协议书范本
2014/09/25 职场文书
党的群众路线查摆剖析材料
2014/10/10 职场文书
工作检讨书500字
2014/10/19 职场文书
办公室主任岗位职责
2015/01/31 职场文书
复活读书笔记
2015/06/29 职场文书
幼儿园小班教学反思
2016/03/03 职场文书
Golang bufio详细讲解
2022/04/21 Golang