HTML5新增元素如何兼容旧浏览器有哪些方法


Posted in HTML / CSS onMay 09, 2014

一个问题,老师抛给我们的,就是:如何让IE8-兼容这些标签?(需要设计JS中的DOM)

虽然今天刚讲的内容,但是,还是需要去了解下。

复制代码
代码如下:

<span style="font-size:14px;color:#FF6666;"> <!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>HTML5新增元素在旧浏览器的兼容-HTML5自由者</title>
</head>
<body>
<header>顶部区域</header>
<nav>导航区域</nav>
<article>文章区域</article>
<footer>底部区域</footer>
</body>
</html></span>

在支持HTML5标签的浏览器显示为:

|------------------------------火狐浏览器--------------------------------------------|

|顶部区域 |

|导航区域 |

|文章区域 |

| |

|-----------------------------------------------------------------------------------------|

而在旧版的浏览器显示样式为:

------------------------------IE6浏览器--------------------------------------------
HTML5新增元素如何兼容旧浏览器有哪些方法 
------------------------------IE8浏览器--------------------------------------------
HTML5新增元素如何兼容旧浏览器有哪些方法 
都是同样的效果,没估计错的话旧版浏览器都是不识别这些新增的标签所以都是用行内元素来处理解决的,所以,有一个解决办法的突破口就是让它变成块状元素就不会处于同一行了,这样在新旧浏览器都是可以显示同样的效果,再者就是让浏览器识别标签,需要新增标签 具体解决办法是:

IE8/IE7/IE6支持通过document.createElement方法产生的标签,可以利用这一特性让这些浏览器支持HTML5新标签,代码如下:

document.createElement(‘新标签’); / /新增创建新标签

JS代码如下:

复制代码
代码如下:

<script>
document.createElement('header');
document.createElement('nav');
document.createElement('article');
document.createElement('footer');
</script>

或者是直接循环方式创建标签:
复制代码
代码如下:

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(', ');
var i= e.length;
while (i--){
document.createElement(e[i])
}

CSS样式设置默认样式:
复制代码
代码如下:

<style>
article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary{
display: block;
}
</style>

再者还有一种办法就是用框架的方法,用到条件注释加JS代码实现
复制代码
代码如下:

<span style="font-size:14px;color:#FF6666;"><!--[if lt IE 9]>
<script> src="http://html5shim.googlecode.com/svn/trunk/html5.js"</script>
<![endif]--></span>

直接加入这一句代码就可实现兼容问题,关于条件注意中的

<!--if lt IE9>

是判断是否小于IE9以下浏览器,如果是就执行这段JS代码 ,如果不是,就忽略掉。至于JS中的链接直接打开进去看看就知道了,也是一大段的代码。

HTML / CSS 相关文章推荐
CSS3 3D位移translate效果实例介绍
May 03 HTML / CSS
详解CSS3伸缩布局盒模型Flex布局
Aug 20 HTML / CSS
纯css3实现效果超级炫的checkbox复选框和radio单选框
Sep 01 HTML / CSS
CSS3实现swap交换动画
Jan 19 HTML / CSS
css3如何绘制一个圆圆的loading转圈动画
Jan 09 HTML / CSS
2分钟教你实现环形/扇形菜单(基础版)
Jan 15 HTML / CSS
详解如何用canvas画一个微笑的表情
Mar 14 HTML / CSS
html5实现canvas阴影效果示例
May 07 HTML / CSS
html5 canvas移动浏览器上实现图片压缩上传
Mar 11 HTML / CSS
详解HTML5 Canvas绘制时指定颜色与透明度的方法
Mar 25 HTML / CSS
移动端Html5页面生成图片解决方案
Aug 07 HTML / CSS
详解CSS3.0(Cascading Style Sheet) 层叠级联样式表
Jul 16 HTML / CSS
使用html5 canvas创建太空游戏的示例
May 08 #HTML / CSS
html5本地存储之localstorage 、本地数据库、sessionStorage简单使用示例
May 08 #HTML / CSS
Data URI scheme详解和使用实例及图片base64编码实现方法
May 08 #HTML / CSS
HTML5本地存储localStorage、sessionStorage基本用法、遍历操作、异常处理等
May 08 #HTML / CSS
html5实现canvas阴影效果示例
May 07 #HTML / CSS
html5 利用重力感应实现摇一摇换颜色可用来做抽奖等等
May 07 #HTML / CSS
HTML5资源预加载(Link prefetch)详细介绍(给你的网页加速)
May 07 #HTML / CSS
You might like
ecshop 订单确认中显示省市地址信息的方法
2010/03/15 PHP
基于AppServ,XAMPP,WAMP配置php.ini去掉警告信息(NOTICE)的方法详解
2013/05/07 PHP
PHP编程实现csv文件导入mysql数据库的方法
2017/04/29 PHP
Javascript实现DIV滚动自动滚动到底部的代码
2012/03/01 Javascript
解决jquery异步按一定的时间间隔刷新问题
2012/12/10 Javascript
js hover 定时器(实例代码)
2013/11/12 Javascript
优化Jquery,提升网页加载速度
2013/11/14 Javascript
fmt:formatDate的输出格式详解
2014/01/09 Javascript
jquery中的常用事件bind、hover、toggle等示例介绍
2014/07/21 Javascript
js实现ArrayList功能附实例代码
2014/10/29 Javascript
JavaScript 模块的循环加载实现方法
2015/12/13 Javascript
js判断手机浏览器操作系统和微信浏览器的方法
2016/04/30 Javascript
bootstrapValidator 重新启用提交按钮的方法
2017/02/20 Javascript
js实现自动图片轮播代码
2017/03/22 Javascript
Vuejs 页面的区域化与组件封装的实现
2017/09/11 Javascript
Nuxt的路由动画效果案例
2020/11/06 Javascript
[00:30]明星选手化身超级英雄!2018DOTA2亚洲邀请赛全明星赛来临!
2018/04/06 DOTA
python Django连接MySQL数据库做增删改查
2013/11/07 Python
基于python的Tkinter实现一个简易计算器
2015/12/31 Python
Python判断变量是否为Json格式的字符串示例
2017/05/03 Python
Python实现的插入排序算法原理与用法实例分析
2017/11/22 Python
对python中raw_input()和input()的用法详解
2018/04/22 Python
pygame实现弹球游戏
2020/04/14 Python
离线状态下在jupyter notebook中使用plotly实例
2020/04/24 Python
python suds访问webservice服务实现
2020/06/26 Python
Python批量删除mysql中千万级大量数据的脚本分享
2020/12/03 Python
Python的两道面试题
2013/06/29 面试题
社区七一党员活动方案
2014/01/25 职场文书
高三政治教学反思
2014/02/06 职场文书
各营销点岗位职责范本
2014/03/05 职场文书
科学发展观演讲稿
2014/09/11 职场文书
2015年技术员工作总结
2015/04/10 职场文书
餐饮服务食品安全承诺书
2015/04/29 职场文书
拾金不昧表扬信怎么写
2015/05/04 职场文书
预备党员转正意见
2015/06/01 职场文书
MySQL对数据表已有表进行分区表的实现
2021/11/01 MySQL