首页 > 编程 > HTML > 正文

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

2020-03-24 16:18:18
字体:
来源:转载
供稿:网友
一个问题,老师抛给我们的,就是:如何让IE8-兼容这些标签?(需要设计JS中的DOM)

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

复制代码代码如下:
span !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浏览器--------------------------------------------

------------------------------IE8浏览器--------------------------------------------

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

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])
}

CSSyangshi_10628_1.html' target='_blank'>CSS样式设置默认样式:

复制代码代码如下:
style
article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary{
display: block;
}
/style

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

复制代码代码如下:
span !--[if lt IE 9]
script src="http://html5shim.googlecode.com/svn/trunk/html5.js" /script
![endif]-- /span

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

!--if lt IE9

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

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表