【问题标题】:A good javascript framework which adds CSS3 support to IE6-8 & missing CSS3 in IE9?一个很好的 JavaScript 框架,它为 IE6-8 添加了 CSS3 支持并在 IE9 中缺少 CSS3?
【发布时间】:2011-07-17 00:13:42
【问题描述】:

我很惊讶 IE9 的发布版本缺少对一些更基本的 CSS3 元素(如 text-shadow 和border-image)的支持。

在 IE6-9 中添加/模拟 CSS3 元素而不是使用 ie-css3、CSS3PIE、Modernizr、html5shiv 等一堆较小的框架,最全面的 JavaScript 框架是什么?

我确信没有一个单一的框架可以做到这一切,但我正在寻找最接近的。

【问题讨论】:

  • 你爱上了微软公关,现在见证了现实。永远不要相信 IE 会做任何正确的事情。

标签: javascript html frameworks css


【解决方案1】:

什么?您对 IE 不遵循标准感到惊讶吗?人们什么时候学会...

试试Selectivizr。来自网站:“selectivizr 是一个 JavaScript 实用程序,它在 Internet Explorer 6-8 中模拟 CSS3 伪类和属性选择器。只需将脚本包含在您的页面中,然后 selectivizr 将完成剩下的工作。”我不知道 IE9 支持什么,但它应该比 IE6 容易得多,所以我想它应该可以正常工作。

尽管如此,您仍然需要一些“较小的框架”,因为它们做得很好,它们足够小,所以仅仅为了拥有一个大框架而不是少数几个而重新发明轮子是没有意义的较小的。很难制作一个千篇一律的框架,所以这就是为什么你有一些多样性,我认为这是一件好事。

但不要指望只包含一些库,所有浏览器都会获得完美的 CSS3 支持,因为这不会很快发生。

如果您想要在 IE6 的所有浏览器上始终如一地工作的高级效果,那么我建议您使用 Raphaël。它在 IE 上使用VML,在其他浏览器上使用SVG。 API 也比 CSS 简单,但这当然是个人喜好问题。但即使不是 API,也很难反驳这样的论点,即您可以在 Firefox 3.0+、Safari 3.0+、Chrome 5.0+、Opera 9.5+ 和 Internet Explorer 6.0+ 上使用看起来相同的圆角和其他好东西图片。

【讨论】:

    【解决方案2】:

    您列表中的项目各有不同的作用。我认为用一个框架来实现所有这些东西是没有意义的。

    只需包括您实际需要的列表即可。

    • 如果您在页面上使用 HTML5 元素,则应该(显然)只使用 html5shiv:

      <!--[if lt IE 9]>
      <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
      <![endif]-->
      
    • Modernizr具有html5shiv的功能加上很多特征检测:

      Modernizr 不添加缺失 浏览器的功能;相反,它 检测本机可用性 功能并为您提供一种方法 保持良好的控制水平 您的网站,无论浏览器的 能力。

      如果您只想在 IE 中设置 HTML5 元素的样式,请使用 html5shiv。如果您想根据是否支持某些功能来做不同的事情,请使用 Modernizr,例如:

      .my_elem {
         border: 1px inset #666;
      }
      .borderimage .my_elem {
         border: none;
         border-image: url(fancy-border.png) 5 5 5 5 round;
         -moz-border-image: url(fancy-border.png) 5 5 5 5 round;
         -webkit-border-image: url(fancy-border.png) 5 5 5 5 round;
      }
      
    • CSS3PIE 和 Modernizr 背后的理念非常不同。

      CSS3PIE 最常用的方式是在 CSS 内部:

      #myElement {
          ...
          behavior: url(PIE.htc);
      }
      

      Modernizr 允许您使用原生花哨的新功能,同时确保您可以为不支持特定功能的浏览器提供所需的任何自定义回退。

      而 CSS3PIE 试图完美地模拟一组有限的 CSS3 属性以仅在旧版本的 Internet Explorer 中工作,除了在相关元素上包含 behavior 属性之外没有其他工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-11
      • 1970-01-01
      • 2012-02-04
      • 1970-01-01
      • 2011-11-01
      • 2016-11-28
      相关资源
      最近更新 更多