一个问题,老师抛给我们的,就是:如何让IE8-兼容这些标签?(需要设计JS中的DOM)
虽然今天刚讲的内容,但是,还是需要去了解下。
复制代码代码如下:
HTML5新增元素在旧浏览器的兼容-HTML5自由者顶部区域
导航区域
文章区域
底部区域
在支持HTML5标签的浏览器显示为:
|------------------------------火狐浏览器--------------------------------------------|
|顶部区域 |
|导航区域 |
|文章区域 |
| |
|-----------------------------------------------------------------------------------------|
而在旧版的浏览器显示样式为:
------------------------------IE6浏览器--------------------------------------------
------------------------------IE8浏览器--------------------------------------------
都是同样的效果,没估计错的话旧版浏览器都是不识别这些新增的标签所以都是用行内元素来处理解决的,所以,有一个解决办法的突破口就是让它变成块状元素就不会处于同一行了,这样在新旧浏览器都是可以显示同样的效果,再者就是让浏览器识别标签,需要新增标签 具体解决办法是:
IE8/IE7/IE6支持通过document.createElement方法产生的标签,可以利用这一特性让这些浏览器支持HTML5新标签,代码如下:
document.createElement(‘新标签’); / /新增创建新标签
JS代码如下:
复制代码代码如下:
document.createElement('header');
document.createElement('nav');
document.createElement('article');
document.createElement('footer');
或者是直接循环方式创建标签:
复制代码代码如下:
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样式设置默认样式:
复制代码代码如下:
article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary{
display: block;
}
再者还有一种办法就是用框架的方法,用到条件注释加JS代码实现
复制代码代码如下:
直接加入这一句代码就可实现兼容问题,关于条件注意中的