84669 person learning
152542 person learning
20005 person learning
5487 person learning
7821 person learning
359900 person learning
3350 person learning
180660 person learning
48569 person learning
18603 person learning
40936 person learning
1549 person learning
1183 person learning
32909 person learning
如: section .timeline{width:500px;}
如果想兼容IE6/7/8,需要怎么处理呢?只能改回p么?
走同样的路,发现不同的人生
方式一:Coding JavaScript
<!--[if lt IE 9]> <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 IE 9]> <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> <p class="ie-noscript-warning">您的浏览器禁用了脚本,请<a href="">查看这里</a>来启用脚本!或者<a href="/?noscript=1">继续访问</a>. </p> </noscript> <![endif]-->
这样可以引导用户开启脚本,或者直接跳转到HTML4标签设计的界面。
来自乱炖-研究web:http://levi.cg.am
想了想还是开个答案吧。
最简单的JS方案,让IE6/7/8支持CSS中的选择器:
(function() { // 页面头部 var a = ['section', 'article', 'nav', 'header', 'footer' /* 其他HTML5元素 */]; for (var i = 0, j = a.length; i < j; i++) { document.createElement(a[i]); } })();
张鑫旭的《不使用JavaScript让IE浏览器支持HTML5元素》里面介绍了一大堆非JS的方案,每一种都比上一种更蛋疼。仅供参考。
比较全的JS解决方案来自HTML5 SHIV。
下载下来代码之后可以通过这种方式引用:
<!--[if lt IE 9]> <script src="dist/html5shiv.js"></script> <![endif]-->
恩还有更多的用法,可以看看它的readme.md翻译。
一搜一大堆!哎,有没有统一的写法啊. . .
方式一:Coding JavaScript
如果是IE9以下的IE浏览器将创建HTML5标签, 这样非IE浏览器就会忽视这段代码,也就不会有无谓的http请求了。
第二种方法:使用Google的html5shiv包(推荐)
但是不管使用以上哪种方法,都要初始化新标签的CSS.因为HTML5在默认情况下表现为内联元素,对这些元素进行布局我们需要利用CSS手工把它们转为块状元素方便布局
但是如果ie6/7/8 禁用脚本的用户,那么就变成了无样式的"白板"网页,我们该怎么解决呢?
我们可以参照facebook的做法,即引导用户进入带有noscript标识的 “/?_fb_noscript=1”页面,用 html4 标签替换 html5 标签,这要比为了保持兼容性而写大量 hack 的做法更轻便一些。
这样可以引导用户开启脚本,或者直接跳转到HTML4标签设计的界面。
来自乱炖-研究web:http://levi.cg.am
想了想还是开个答案吧。
最简单的JS方案,让IE6/7/8支持CSS中的选择器:
张鑫旭的《不使用JavaScript让IE浏览器支持HTML5元素》里面介绍了一大堆非JS的方案,每一种都比上一种更蛋疼。仅供参考。
比较全的JS解决方案来自HTML5 SHIV。
下载下来代码之后可以通过这种方式引用:
恩还有更多的用法,可以看看它的readme.md翻译。
一搜一大堆!哎,有没有统一的写法啊. . .