HTML5浏览器兼容性解决方案
目前大部分浏览器均支持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浏览器兼容性解决方案相关推荐
- PC端浏览器兼容性解决方案
代码兼容:IE7及以上,360浏览器,搜狗浏览器,谷歌,火狐,欧朋等等. 一.需要注意的地方 1.写好标准头 <!DOCTYPE html> 2.首先引入初始化css,保证消除不同浏览器的 ...
- 关于360浏览器及搜狗等浏览器兼容性解决方案
最近网站忙于上线,一直测试,一直修改bug.相信这是很多前端工作者非常头疼的一件事:就是网页在360浏览器和搜狗浏览器等等双核或者多核或者以IE内核为内核的各种各样的浏览器上出现的各种各种非常奇葩的b ...
- 浏览器兼容性问题解决方案· 总结
浏览器兼容性问题解决方案 · 总结 javascript/jquery 浏览数:536 2017-9-2 普及:浏览器的兼容性问题,往往是个别浏览器(没错,就是那个与众不同的浏览器)对于一些标准的定义 ...
- IE6,IE7和8浏览器兼容HTML5标签的解决方案
html5大行其道的时代已经到来.如果你还在等待浏览器兼容,说明你已经与web脱节几条街了.当然,这得益于移动客户端的蓬勃发展.如果还在纠 结于,是否应该掌握html5和css3技术时,请狠狠的抽自己 ...
- i8本地兼容html5文件,浏览器兼容性
前端开发遇到的浏览器兼容性问题 产生这个问题的主要原因是不同浏览器的内核不同,对网页的解析结果就产生了差异. 解决浏览器兼容性问题,主要从三方面考虑:html,css,js. html部分 1.调用C ...
- html 布局兼容性,HTML+CSS入门 浏览器兼容性问题及解决方案
本篇教程介绍了HTML+CSS入门 浏览器兼容性问题及解决方案,希望阅读本篇文章以后大家有所收获,帮助大家HTML+CSS入门. < 问题一:不同浏览器的标签默认的外补丁和内补丁不同 问题现象: ...
- 常见的浏览器兼容性问题与解决方案——CSS篇
1.不同的浏览器的标签默认的外补丁和内补丁不同 问题症状:随便写几个标签,不加样式控制的情况下,各自的margin和padding差异较大. 碰到频率:100% 解决方案:初始化CSS的默认样式,*{ ...
- 浏览器兼容性--IE11以及Edge等下载文件的中文名出现乱码,前后端解决方案
浏览器兼容性--IE11以及Edge等下载文件的中文名出现乱码,前后端解决方案 参考文章: (1)浏览器兼容性--IE11以及Edge等下载文件的中文名出现乱码,前后端解决方案 (2)https:// ...
- 常见几种浏览器兼容性问题与解决方案
常见几种浏览器兼容性问题与解决方案 参考文章: (1)常见几种浏览器兼容性问题与解决方案 (2)https://www.cnblogs.com/lmaster/p/6385035.html 备忘一下.
- 我所碰到的面试题之------前端常见浏览器兼容性问题解决方案---
我所碰到的面试题之------前端常见浏览器兼容性问题解决方案--- 参考文章: (1)我所碰到的面试题之------前端常见浏览器兼容性问题解决方案--- (2)https://www.cnblog ...
最新文章
- android的支付宝sdk 提示系统繁忙 请稍后再试_《活动运营中防系统扑街指南》
- Sql Server 2005的1433端口打开和进行远程连接
- js检测数据类型的方法你都掌握了几个?
- 014_下载乱码处理
- l298n电机哪一端为正_L298N控制直流电机正反转_张天鹏
- 没有可用于当前位置的源代码
- GridView使用一些记录
- 多核编程与单核多线程编程
- python管理系统web版_Python学生管理系统(web网页版)-Go语言中文社区
- [leetcode]143. Reorder List
- 没钱,就别玩大学这场游戏
- 一个流氓的SQL设计,备份(一个字段存多个数据)
- c语言程序设计必备单词,(完整版)C语言编程必背单词.docx
- 计算机应用中级职称报告,中级工程师职称总结
- 常用正则表达式,持续更新
- android 截图root权限,为什么 Android 截屏需要 root 权限
- 第二十七篇 -- 学习第四十五天打卡20190810
- 全国三级流域空间分布矢量数据下载方式
- golang mgo 使用
- OpenCASCADE 获取面中心点法向