让更多浏览器支持html5元素的简单方法
当我们试图使用web上的新技术的时候,旧式浏览器总是我们心中不可磨灭的痛!事实上,所有浏览器都有或多或少的问题,现在还没有浏览器能够完整的识别和支持最新的html5结构元素。但是不用担心,你依然可以在最小化不可用造成的影响的基础上使它们跨浏览器工作。之前大前端介绍过这样的方法:HTML5 Shiv – 让该死的IE系列支持HTML5吧。
如果你向一个页面中添加一个浏览器无法识别的元素,默认情况下浏览器会把它当做一个<span>标签对待(ie会当成一个匿名的内联元素处理).这篇文章中提到的html5元素大部分都可以拥有块状元素的表现,因此,让他们在旧式浏览器中正常展现的最简单的方式就是在css中给这些元素设置display:block;
article, section, aside, hgroup, nav, header, footer, figure, figcaption {display: block;}
这样可以解决大部分浏览器的渲染问题,但是有一个浏览器例外.猜猜是哪个浏览器?…是的,是不是很抓狂,对于IE的处理方式需要更巧妙一些,IE拒绝给它不认识的元素赋予样式。针对IE的解决方案看起来毫无逻辑,但是幸亏使用起来很简洁.对于你使用过的html5元素,你只需要在页面的头部插入一段这样的js:
<script>
document.createElement(‘article’);
document.createElement(‘section’);
document.createElement(‘aside’);
document.createElement(‘hgroup’);
document.createElement(‘nav’);
document.createElement(‘header’);
document.createElement(‘footer’);
document.createElement(‘figure’);
document.createElement(‘figcaption’);
</script>
这样IE就可以给这些元素赋予样式了。必须通过js来使css生效虽然看起来很别扭,但是至少我们可以让它们运行起来了。至于为什么可以这样?跟我讨论过的人中没有一个可以回答出来。当你试图在IE中打印一份样式表没有传输完毕的html5文档的时候同样还存在着一个问题。
ie中的打印问题可以用 HTML5 Shiv这个javascript库来解决,它同样是通过添加document.createElement命令来实现的。你可以把它放在一个用于低于IE9版本的IE条件注释中,这样现代浏览器就不需要执行不必要的js了。
让更多浏览器支持html5元素的简单方法的更多相关文章
- 不使用JavaScript让IE浏览器支持HTML5元素——张鑫旭
by zhangxinxu from http://www.zhangxinxu.com本文地址:http://www.zhangxinxu.com/wordpress/?p=2515 如果我们不做什 ...
- 如何让低版本IE浏览器支持HTML5标签并为其设置样式
现代的浏览器都支持HTML5,HTML5定义了 8 个新的 HTML 语义元素.所有这些元素都是 块级 元素. 为了能让旧版本的浏览器正确显示这些元素,你可以设置 CSS 的 display 属性值为 ...
- html5.js让IE(包含IE6)支持HTML5元素方法
原文地址:http://blog.sina.com.cn/s/blog_62a36ec401018oqb.html html5.js让IE(包含IE6)支持HTML5元素方法 微软的最新浏览器IE8及 ...
- html5shiv 是一个针对 IE 浏览器的 HTML5 JavaScript 补丁,目的是让 IE 识别并支持 HTML5 元素。
html5shiv 是一个针对 IE 浏览器的 HTML5 JavaScript 补丁,目的是让 IE 识别并支持 HTML5 元素. 各版本html5shiv.js CDN网址:https://ww ...
- 让ie浏览器支持html5新标签的解决方法(使用html5shiv)
没估计错的话旧版浏览器都是不识别这些新增的标签所以都是用行内元素来处理解决的,所以,有一个解决办法的突破口就是让它变成块状元素就不会处于同一行了,这样在新旧浏览器都是可以显示同样的效果,再者就是让浏览 ...
- 如何让旧浏览器支持HTML5新标签
HTML5出现也不短了,很多网站的页面都进行了改版,为了降低代码量(不需要起太多的类名),提升加载速度,提高标签的语义性,因此,在网页中大量使用了section,article,header等HTML ...
- IT兄弟连 HTML5教程 设置IE9以下版本浏览器支持HTML5
HTML2.HTML5刚发布时由于各浏览器之间的标准不统一,开发者的时间都浪费在解决Web浏览器之间的兼容性上.但由于W3C和WHATWG对HTML5新版本的制定,以及近年来对HTML5的使用,再加上 ...
- 让旧浏览器支持HTML5新增标签
首先我们使用JS进行标签创建,为HTML文件创建我们需要的这几个HTML5标签. 接下来,我们需要使用CSS进行这几个HTML5标签的样式控制,这是因为,通过这种方法创建的新标签,默认是行内元素. ...
- jquery实现上传图片预览(需要浏览器支持html5)
jquery实现上传图片预览(需要浏览器支持html5) <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN&q ...
随机推荐
- 常见GC算法,CMS以及G1的垃圾回收过程,CMS的各个阶段哪两个是Stop the world的,CMS会不会产生碎片,G1的优势。
常见GC算法 在C/C++中是由程序员自己去申请.管理和释放内存的,因此没有GC的概念.而在Java中,专门有一个用于垃圾回收的后台线程来进行监控.扫描,自动将一些无用的内存进行释放.下面介绍几种常见 ...
- PHP设计模式 - 状态模式
状态模式当一个对象的内在状态改变时允许改变其行为,这个对象看起来像是改变了其类.状态模式主要解决的是当控制一个对象状态的条件表达式过于复杂时的情况.把状态的判断逻辑转移到表示不同状态的一系列类中,可以 ...
- 第三节:一些指令总结(Nuget、)
一. NuGet 1. 获取当前项目已经安装的类库:Get-Package 2. 安装指定版本:install-package <程序包名> -version <版本号> 3. ...
- 找出二进制数中bit为1的最(高/低)索引
题1. 给定一个无符号整型数据(unsigned int),找出其对应二进制数据中bit位为1的最高/低索引. 比如:对于数据0,返回0:数据1,返回1:数据0x80000000,返回32: 题2. ...
- Git diff (---和+++具体解释)(转)
转自:https://blog.csdn.net/lovezbs/article/details/46492933
- 警告:MySQL-server-5.6.26-1.el7.x86_64.rpm: 头V3 DSA/SHA1 Signature, 密钥 ID 5072e1f5: NOKEY
警告:MySQL-server--.el7.x86_64.rpm: 头V3 DSA/SHA1 Signature, 密钥 ID 5072e1f5: NOKEY 错误:依赖检测失败: /usr/bin/ ...
- easyUi——datetimebox绑定数据失效
在做easy-ui时候,绑定数据不管在怎么写,都绑定不上去,最后发现是因为 标签的ID没有写,尴尬了,记录一下,防止后期出错. ui代码 <script type="text/java ...
- WebServices 使用Session
using System;using System.Collections.Generic;using System.Data;using System.Linq;using System.Web;u ...
- if __name__ == '__main__' 该如何理解
Python 中的 if __name__ == '__main__' 该如何理解 程序入口 对于很多编程语言来说,程序都必须要有一个入口,比如 C,C++,以及完全面向对象的编程语言 Java,C# ...
- Java知识回顾 (15) 文档注释
说明注释允许你在程序中嵌入关于程序的信息. 你可以使用 javadoc 工具软件来生成信息,并输出到HTML文件中,使你更加方便的记录你的程序信息. javadoc 标签 标签 描述 示例 @auth ...