让IE支持HTML5引入的新属性

  诚然,HTML5提供的更具语义化的标签,勇者更方便,但是IE6~8不支持,IE6~8不能识别这些标签,所以不能给他们添加样式,也不能完成页面渲染。以下是完成兼容的几个方法。

  1.运用html5shiv框架。让CSS 样式应用在未知元素上只需执行 document.createElement(elementName) 即可实现。html5shiv就是根据这个原理创建的。

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

  2.通配符方法 

    使用全局选择器,通配符(*)指向正确的目标元素,无脚本应用。

    这种方法适用类似于 body > * p {}的后代。代码如下:

    

    注:这种方法只适用IE7,8 IE6不支持。

   3.IE条件注释 

    

    就是用IE条件注释,如果是IE9以下,就用传统的div。

    注释:觉得这种方式实现起来很臃肿,没什么使用价值。

  4.命名空间

    (1)  修改<html>标签处的命名空间

    (2)  使用类似<html5:section><html5:/section>标签

    (3)  使用如下选择器名称进行控制:html5\:section {}

  代码如下:

      

      注:实现IE6~8兼容

    总结来说,命名空间法还是比2,3方法靠谱多了~~不过htmlshiv仍然是最方便最有效的~~~

    详情请见:http://www.zhangxinxu.com/wordpress/2012/07/no-javascript-ie-html5-elements/

  

posted @ 2015-03-18 20:25  echo_yaonie  阅读(390)  评论(0编辑  收藏  举报