目前大部分浏览器均支持HTML5。但是部分低版本的浏览器对HTML5支持存在一些问题。

低版本浏览器支持HTML5

所有浏览器 ,对无法识别的元素会作为内联元素自动处理。因此可以采用如下方法教会浏览器 处理 “未知” 的 HTML 元素。

将 HTML5 元素定义为块元素

HTML5 定了 8 个新的 HTML 语义(semantic) 元素。所有这些元素都是 块级 元素。
为了能让旧版本的浏览器正确显示这些元素,你可以设置 CSS 的 display 属性值为 block:

header, section, footer, aside, nav, main, article, figure {display: block;
}

为 HTML 添加新元素

下面的实例向 HTML 添加的新的元素,并为该元素定义样式,元素名为 <myElement>

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"><title>为 HTML 添加新元素</title><script>document.createElement("myElement")</script><style>myElement{display: block;background-color: #ddd;padding: 50px;font-size: 30px;} </style>
</head><body><h1>我的第一个标题</h1><p>我的第一个段落。</p><myElement>我的第一个新元素</myElement></body>
</html>

document.createElement(“myElement”) 是为 IE 浏览器添加新的元素。

Internet Explorer 浏览器问题

你可以使用以上方法为浏览器添加新的元素,但是IE8及以下版本无法支持此种方式。
我们可以使用 Sjoerd Visscher 创建的 “HTML5 Enabling JavaScript”, ” shiv” 来解决该问题:

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

或者

<!--[if lt IE 9]><script src="http://apps.bdimg.com/libs/html5shiv/3.7/html5shiv.min.js"></script>
<![endif]-->

以上代码的作用是,在 IE 浏览器的版本小于 IE9 时将读取 html5.js 文件,并解析它。前一个是国goole资源,后面一个是国内百度的资源。

针对IE浏览器html5shiv 是比较好的解决方案。html5shiv主要解决HTML5提出的新的元素不被IE6-8识别,这些新元素不能作为父节点包裹子元素,并且不能应用CSS样式。

下面是采用html5shiv方案的实例:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>渲染 HTML5</title><!--[if lt IE 9]><script src="http://apps.bdimg.com/libs/html5shiv/3.7/html5shiv.min.js"></script><![endif]-->
</head><body><h1>我的第一个HTML5页面</h1><article>
Hello,world!
</article></body>
</html>

HTML5浏览器兼容性解决方案相关推荐

  1. PC端浏览器兼容性解决方案

    代码兼容:IE7及以上,360浏览器,搜狗浏览器,谷歌,火狐,欧朋等等. 一.需要注意的地方 1.写好标准头 <!DOCTYPE html> 2.首先引入初始化css,保证消除不同浏览器的 ...

  2. 关于360浏览器及搜狗等浏览器兼容性解决方案

    最近网站忙于上线,一直测试,一直修改bug.相信这是很多前端工作者非常头疼的一件事:就是网页在360浏览器和搜狗浏览器等等双核或者多核或者以IE内核为内核的各种各样的浏览器上出现的各种各种非常奇葩的b ...

  3. 浏览器兼容性问题解决方案· 总结

    浏览器兼容性问题解决方案 · 总结 javascript/jquery 浏览数:536 2017-9-2 普及:浏览器的兼容性问题,往往是个别浏览器(没错,就是那个与众不同的浏览器)对于一些标准的定义 ...

  4. IE6,IE7和8浏览器兼容HTML5标签的解决方案

    html5大行其道的时代已经到来.如果你还在等待浏览器兼容,说明你已经与web脱节几条街了.当然,这得益于移动客户端的蓬勃发展.如果还在纠 结于,是否应该掌握html5和css3技术时,请狠狠的抽自己 ...

  5. i8本地兼容html5文件,浏览器兼容性

    前端开发遇到的浏览器兼容性问题 产生这个问题的主要原因是不同浏览器的内核不同,对网页的解析结果就产生了差异. 解决浏览器兼容性问题,主要从三方面考虑:html,css,js. html部分 1.调用C ...

  6. html 布局兼容性,HTML+CSS入门 浏览器兼容性问题及解决方案

    本篇教程介绍了HTML+CSS入门 浏览器兼容性问题及解决方案,希望阅读本篇文章以后大家有所收获,帮助大家HTML+CSS入门. < 问题一:不同浏览器的标签默认的外补丁和内补丁不同 问题现象: ...

  7. 常见的浏览器兼容性问题与解决方案——CSS篇

    1.不同的浏览器的标签默认的外补丁和内补丁不同 问题症状:随便写几个标签,不加样式控制的情况下,各自的margin和padding差异较大. 碰到频率:100% 解决方案:初始化CSS的默认样式,*{ ...

  8. 浏览器兼容性--IE11以及Edge等下载文件的中文名出现乱码,前后端解决方案

    浏览器兼容性--IE11以及Edge等下载文件的中文名出现乱码,前后端解决方案 参考文章: (1)浏览器兼容性--IE11以及Edge等下载文件的中文名出现乱码,前后端解决方案 (2)https:// ...

  9. 常见几种浏览器兼容性问题与解决方案

    常见几种浏览器兼容性问题与解决方案 参考文章: (1)常见几种浏览器兼容性问题与解决方案 (2)https://www.cnblogs.com/lmaster/p/6385035.html 备忘一下.

  10. 我所碰到的面试题之------前端常见浏览器兼容性问题解决方案---

    我所碰到的面试题之------前端常见浏览器兼容性问题解决方案--- 参考文章: (1)我所碰到的面试题之------前端常见浏览器兼容性问题解决方案--- (2)https://www.cnblog ...

最新文章

  1. android的支付宝sdk 提示系统繁忙 请稍后再试_《活动运营中防系统扑街指南》
  2. Sql Server 2005的1433端口打开和进行远程连接
  3. js检测数据类型的方法你都掌握了几个?
  4. 014_下载乱码处理
  5. l298n电机哪一端为正_L298N控制直流电机正反转_张天鹏
  6. 没有可用于当前位置的源代码
  7. GridView使用一些记录
  8. 多核编程与单核多线程编程
  9. python管理系统web版_Python学生管理系统(web网页版)-Go语言中文社区
  10. [leetcode]143. Reorder List
  11. 没钱,就别玩大学这场游戏
  12. 一个流氓的SQL设计,备份(一个字段存多个数据)
  13. c语言程序设计必备单词,(完整版)C语言编程必背单词.docx
  14. 计算机应用中级职称报告,中级工程师职称总结
  15. 常用正则表达式,持续更新
  16. android 截图root权限,为什么 Android 截屏需要 root 权限
  17. 第二十七篇 -- 学习第四十五天打卡20190810
  18. 全国三级流域空间分布矢量数据下载方式
  19. golang mgo 使用
  20. OpenCASCADE 获取面中心点法向

热门文章

  1. 自己动手开发多线程异步 MQL5 WEBREQUEST
  2. megacli通过盘符定位物理盘_Megaraid 磁盘定位
  3. NOIP2016总结
  4. 最新版本Eclipse安装SVN插件Subclipse过程
  5. 极乐净土—官方中文版 单曲循环洗脑三天了φ(ω*)
  6. 腾讯 信鸽测试demo
  7. matlab读取excel、text文件 || xlsread textread
  8. (Oracle)零基础学习SQL语句--第1篇
  9. 哈夫曼编码问题(贪心)
  10. oracle的dbv命令,Oracle的DBV命令行工具用法详解