这次给大家带来的是旧版本浏览器中H5和C3不兼容的处理方法。 如何让旧版本浏览器支持HTML5? 老版本浏览器兼容H5、C3有哪些注意事项? 下面是一个实际案例,我们来看看。
HTML5可以为我们做很多事情,最美味的就是语义标签的应用,如果你已经在Chrome或者其他支持HTML5的浏览器上使用过它,那么这篇文章一定对你有用,因为现在你也可以使用IE 上的 HTML5。
第一种方式:使用Google的html5shiv包(推荐)
首先得引用下面Google的html5.js文件,所以好处就不说了:
登录复制
将上面的代码复制到head部分,记住一定是head部分(因为IE解析元素之前必须知道元素,所以这个js文件不能在其他地方调用,否则无效)
主要就是把那些html5标签做成条状,比如div。好吧,我们简单点,一句话:引用html5.js把html5标签做成条状
第二种方式:编写 JavaScript
登录复制
但无论使用上述哪种方法,新标签的CSS都必须初始化。 由于 HTML5 默认情况下表现为内联元素,因此我们需要使用 CSS 手动将它们转换为球形元素以方便布局。
/*html5*/ article,aside,dialog,footer,header,section,footer,nav,figure,menu{display:block}
登录复制
但如果ie6/7/8禁用了脚本用户,那么就变成了没有样式的“白板”网页html5兼容的浏览器html5兼容的浏览器,该如何解决呢?
我们可以参考Facebook的做法,即用noscript标记引导用户到“/?_fb_noscript=1”页面,并用html4标签替换html5标签,这比编写大量hack来保持兼容性更容易。
登录复制
这样可以引导用户启动脚本,或者直接跳转到HTML4标签设计的界面。
2.使旧浏览器兼容CSS3(不完整的兼容方案)
在 Internet Explorer 8 之前,IE 系列不支持 CSS3。 在IE中做一些常见的效果,比如圆角、阴影等,需要使用一些多余的、无意义的元素和图片来制作这种效果。 厌倦了这些之后,我想到了使用更简单、直接、有效的 CSS3 风格的方法来解决这个问题。 幸运的是,即使是一直被诟病的Internet Explorer,其本身也足够强大。 IE独特的技术可以很好地实现一些CSS3效果。
不透明度 透明度
元素的透明度可以通过IE中的过滤器轻松实现。
background-color:green; opacity: .4; filter:progid:DXImageTransform.Microsoft.alpha(opacity=40);
登录复制
这里是半透明区域
不透明度:.4;
过滤器:alpha(不透明度=40);
border-radius 圆角/Box Shadow 框阴影/Text Shadow 文字阴影
在IE中,可以使用矢量标记语言(VML)和javascript来实现这种效果。 请参阅 IE-CSS3。 引用HTC文件后,您可以在IE浏览器中使用这三个CSS3属性。
相信看完这些案例,你已经掌握了技巧。 更多精彩,请关注php中文网其他相关文章!