千家信息网

怎么解决兼容IE6\7\8不支持html5标签的问题

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,小编给大家分享一下怎么解决兼容IE6\7\8不支持html5标签的问题,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!html5大行其道的时代已经到来。如果你还在等待浏览器兼容,说明你
千家信息网最后更新 2026年11月01日怎么解决兼容IE6\7\8不支持html5标签的问题

小编给大家分享一下怎么解决兼容IE6\7\8不支持html5标签的问题,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!

html5大行其道的时代已经到来。如果你还在等待浏览器兼容,说明你已经与web脱节几条街了。当然,这得益于移动客户端的蓬勃发展。如果还在纠结于,是否应该掌握html5和css3技术时,请狠狠的抽自己几个嘴巴,然后,苦学吧!因为前端的春天已经到来,而且不止一个春天。
下面我们来看一个标准的html5标签结构:(我这里只是说标签,其它概不涉及)

代码如下:






html5















html5标签的进步之处当然于它的语义化更直观。当然,这只是html5的进步的九牛之一毛,有人建议说:不要说html5的进步是革命性的,而是发展性的!我不反对此说法,但某方面的确是革命性的。这里不想跑题,我们只说标签。

当然,兴奋于如此美妙的语义化标签时,不仅仍要追问:IE支持吗?很不幸,答案是否定的。如果你已经被IE搞怕了,你只得继续忍受它无尽的折磨。(IE9和IE10已经兼容支持html5和css3.0)
不过你要庆幸,你生活的这个时代有很多天才。有人已经帮你把这个问题解决了!虽然,不能称上完美!
下面我们来看几个解决兼容IE6\7\8不支持html5标签的几个方法:
1、_javascript: document.createElenment("......")
IE6\7\8不支持的部分原因是,它们不认为footer是一个有效的html标签。那么我们把它"制造"成一个标签不就行了吗?最直接的办法当然是,javascript 的方式创建:document.createElenment("......")!

代码如下:


(function(){
var element=['header','footer','article','aside','section','nav','menu','hgroup','details','dialog','figure','figcaption'],
len=element.length;
while(len--){
document.createElement(element[i])
}
})();


这只是简单创建几典型的html5标签,让它们在IE6\7\8可以成为标签。
有人已经写了一个完整的js文件,你只需要引入既可,像这样:
也有写作
html5shiv和html5shim的区别只有"m"和"v",没有其它区别!当然这不是我说的。原文是:...the only difference is that "one has an m and one has a v - that's it."
这里要做一个特别的说明:就是IE特有的注释判断:
lte:就是Less than or equal to的简写,也就是小于或等于的意思。
lt :就是Less than的简写,也就是小于的意思。
gte:就是Greater than or equal to的简写,也就是大于或等于的意思。
gt :就是Greater than的简写,也就是大于的意思。
! : 就是不等于的意思,跟javascript里的不等于判断符相同
因为IE9虽然支持html5标签,但支持的不是很完整,所以,也可以写"lte",这取决于你的选择!
当然,不要忘了指定新建标签的display属性,大多情况下我希望标签是block的:

代码如下:


header,footer,article,aside,section,nav,menu,hgroup,details,dialog,figure,figcaption{display:block}


2、嵌套标签的方法
其实说白了就是在,语义化的html5标签内嵌套div等可用标签,然后只给div写样式,我是不赞成这样的写法的。这样做还不如,给标签一个有语义化的id或者class!

代码如下:




内容测试...


但如果类似于这样的结构,用用也无防:

代码如下:




3、IE条件注释

代码如下:





......




再看一遍IE特有的注释判断:
lte:就是Less than or equal to的简写,也就是小于或等于的意思。
lt :就是Less than的简写,也就是小于的意思。
gte:就是Greater than or equal to的简写,也就是大于或等于的意思。
gt :就是Greater than的简写,也就是大于的意思。
! : 就是不等于的意思,跟javascript里的不等于判断符相同
相信大家都明白,这是怎么回事!这是一个更加蛋疼的办法!大量的html代码使原本想语义化的代码更加混乱不堪。而且要对样式的书写也不利。
4、使用xmlns定义文档的命我空间
xmlns即是XHTML namespace的缩写,也就是所谓的"命名空间"。与DOCTYPE声明一样,xmlns也属于一种声明。与HTML文档中仍然存在DOCTYPE声明不一样的是,在HTML文档是不存在xmlns的,我们平常所见到的xmlns都是出现在XHTML文档中的。
这是xhtml原有的命名空间,到了html5以后被简化了,。
来自Elco Klingen日志的方法一开始引起了广泛的关注。该技术包含了一个XML形式的命名空间,并使用了含有namespace前缀的元素,例如:

代码如下:











:html5这个前缀并不是一个标准的写法,你也可以用其它字符代替:hl5也是可以的。有了前缀之后,IE会识别新的元素,从而可以应用样式。在其他浏览器中一样有效,那么最后,你就成功地在各个浏览器中构建了一样的元素和一样的样式。

这个方法很明显有个缺陷:你必须在HTML文档中使用XML格式的命名空间,同样,你也需要在css中这么做:

代码如下:


html5\:section {
display: block;
}


那么对js的兼容性如何呢?下面是个测试deml

代码如下:





;html5





内容

测试结果,IE6\7\8均测试通过,但fixfox和chrome里只有id能获取到,所以这种方法同样不是一个可取的方法!

看完了这篇文章,相信你对"怎么解决兼容IE6\7\8不支持html5标签的问题"有了一定的了解,如果想了解更多相关知识,欢迎关注行业资讯频道,感谢各位的阅读!

标签 就是 代码 意思 也就是 支持 简写 方法 文档 空间 语义 样式 测试 问题 元素 前缀 只是 注释 浏览器 这是 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技 互联网科技企业 中关村互联网 科技集团 互联网金融监管科技数据 互联网科技的 艾特科技互联网 互联网科技logo 互联网科技有限公司 翻译 宁波青枫互联网科技有限公司 成都铂石互联网科技做什么的 崇明区互联网教育科技诚信经营 南博望互联网科技有限公司 美国互联网科技公司 互联网科技数字货币 本届互联网大会上的黑科技 互联网与数字科技关系 抖集互联网科技技术咨询 互联网金融运营模式中的金融科技 科技信息时代互联网发展 安徽九吞吴互联网科技有限公司 上海挚品互联网科技有限公司 苏州找大状互联网科技有限公司 互联网巨头反垄断金融科技 唐信互联网科技 大连 掌上梦互联网科技 深圳期待互联网科技 互联网科技咨询 栖莱科技互联网股份有限公司 中国航天科技大学国际工业互联网 四川慕妮娅互联网科技有限公司
0