HTML5的语义化标签以及属性,可以让开发者非常方便地实现清晰的web页面布局,加上CSS3的效果渲染,快速建立丰富灵活的web页面显得非常简单。

HTML5的新标签元素有:

<header>    定义页面或区段的头部;
<footer>    定义页面或区段的尾部;
<nav>       定义页面或区段的导航区域;
<section>   页面的逻辑区域或内容组合;
<article>   定义正文或一篇完整的内容;
<aside>     定义补充或相关内容;

使用他们能让代码语义化更直观,而且更方便SEO优化。但是此HTML5新标签在IE6/IE7/IE8上并不能识别,需要进行JavaScript处理。以下就介绍几种方式。

方法一:Coding JavaScript

<!--[if lt IE9]>
<script> (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(', ');var i= e.length;while (i--){document.createElement(e[i])}
})()
</script>
<![endif]-->

如果是IE9以下的IE浏览器将创建HTML5标签, 这样非IE浏览器就会忽视这段代码,也就不会有无谓的http请求了。

方法二:使用Google的html5shiv包(推荐)

<!--[if lt IE9]>
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->

但是不管使用以上哪种方法,都要初始化新标签的CSS.因为HTML5在默认情况下表现为内联元素,对这些元素进行布局我们需要利用CSS手工把它们转为块状元素方便布局

/*html5*/
article,aside,dialog,footer,header,section,footer,nav,figure,menu{display:block}

但是如果ie6/7/8 禁用脚本的用户,那么就变成了无样式的"白板"网页,我们该怎么解决呢?

我们可以参照facebook的做法,即引导用户进入带有noscript标识的 “/?_fb_noscript=1”页面,用 html4 标签替换 html5 标签,这要比为了保持兼容性而写大量 hack 的做法更轻便一些。

<!--[if lte IE 8]>
<noscript><style>.html5-wrappers{display:none!important;}</style><div class="ie-noscript-warning">您的浏览器禁用了脚本,请<a href="">查看这里</a>来启用脚本!或者<a href="/?noscript=1">继续访问</a>.</div>
</noscript>
<![endif]-->

这样可以引导用户开启脚本,或者直接跳转到HTML4标签设计的界面。

Capricornus

转载于:https://www.cnblogs.com/sameen/p/5394641.html

[转]完美解决IE(IE6/IE7/IE8)不兼容HTML5标签的方法相关推荐

  1. 完美解决IE(IE6/IE7/IE8)不兼容HTML5标签的方法

    完美解决IE(IE6/IE7/IE8)不兼容HTML5标签的方法 参考文章: (1)完美解决IE(IE6/IE7/IE8)不兼容HTML5标签的方法 (2)https://www.cnblogs.co ...

  2. IE(IE6/IE7/IE8)支持HTML5标签--20150216

    让IE(ie6/ie7/ie8)支持HTML5元素,我们需要在HTML头部添加以下JavaScript,这是一个简单的document.createElement声明,利用条件注释针对IE来调用这个j ...

  3. 老式浏览器(IE6,IE7,IE8)识别html5标签

    近几年HTML5风潮大起,HTML5新增的一些语义化标签,更是让前端兄贵们欢欣鼓舞. HTML5新增的标签<header>,<footer>,<nav>,<h ...

  4. 让IE6/IE7/IE8支持CSS3的8种方法

    我们都知道,IE浏览器暂不支持CSS3的一些属性.国外的工程师们,不安于此现状,他们总是尽量使用一些手段使IE浏览器也能支持CSS3属性,我觉得这些都是很有意义,很有价值的工作,可以推动整个技术领域的 ...

  5. DIV CSS IE6/IE7/IE8/FF兼容问题汇总

    1.IE8下兼容问题,这个最好处理,转化成ie7兼容就可以.在头部加如下一段代码,然后只要在IE7下兼容了,IE8下面也就兼容了 <meta http-equiv="x-ua-comp ...

  6. IE6/IE7/IE8/FF兼容问题汇总,以及解决方案

    1.IE8下兼容问题,这个最好处理,转化成ie7兼容就可以.在头部加如下一段代码,然后只要在IE7下兼容了,IE8下面也就兼容了 <meta http-equiv="x-ua-comp ...

  7. DIV+CSS IE6/IE7/IE8/FF兼容问题汇总

    1.IE8下兼容问题,这个最好处理,转化成ie7兼容就可以.在头部加如下一段代码,然后只要在IE7下兼容了,IE8下面也就兼容了 <meta http-equiv="x-ua-comp ...

  8. DIV+CSS IE6/IE7/IE8/FF兼容问题大全

    其他兼容技巧(相当有用) 1, FF下给 div 设置 padding 后会导致 width 和 height 增加, 但IE不会.(可用!important解决) 2, 居中问题. 1).垂直居中. ...

  9. 自整理IE6,IE7,IE8,Firefox兼容方案。。。

    .hacktest {color:Red;} /*Firefox*/ *html .hacktest {color:green;}/*IE6*/ *+html .hacktest {color:blu ...

最新文章

  1. 【详细解析】基础实验4-2.6 目录树 (30 分)
  2. Android在Context详细解释 ---- 你不知道Context
  3. 洛谷P4389:付公主的背包(多项式、生成函数)
  4. dt决策树_决策树:构建DT的分步方法
  5. “约见”面试官系列之常见面试题第二十九篇之Vue和React的区别
  6. cad在布局怎么调比例_大神们都在用的9个CAD制图技巧,你会用几个?
  7. discuz 如何去掉自定义表情
  8. 使用CAJViewer 提取PDF文件中的文字
  9. Java NIO问题总结
  10. Redis3.2.5 集群搭建以及Spring-boot测试
  11. Tablayout+ViewPager+Fragment 实现页面切换
  12. C++第五章课后习题-输入n个字符串,将他们按字母由从小到大的顺序排序并输出
  13. php x不能转移,[PHP] 从 PHP 5.3.X 迁移到 PHP 5.6.X不兼容点
  14. SecoClient接收返回码超时
  15. 如何区分前后端 BUG
  16. itextsharp、Aspose.Words、Aspose.Cells联合使用
  17. python速成_速成python
  18. Day4 数据分析 Excel图表【零基础】
  19. 来,教你开发一款图形编辑器
  20. Linux系统监视与进程管理

热门文章

  1. 机械动作时序图怎么画_人物动作怎么画?动漫绘画人物姿势的基本画法!
  2. Object Tracking using OpenCV (C++/Python)(使用OpenCV进行目标跟踪)
  3. MiseringThread.java 解析页面线程
  4. SharePoint【学习笔记】-- SharePoint 2010 技术参数整理
  5. WinForm:进度条的实现(异步)
  6. 中反应器体积_缠绕管式反应器大幅提高能效,移热能力较列管式反应器提升逾50%...
  7. Android 带阴影背景图片
  8. Android 视频播放器,VideoView播放视频
  9. nuxt引用static或者assets目录下资源注意事项
  10. python3 centos7 Python.h无法找到