2

我将modernizr js 安装为HTML5 Boilerplate 的一部分,但我不知道如何使用它。我创建了一个带有一些过渡的 CSS3 导航。我知道 IE 不支持它们,但据我了解,Modernizr 可以使用 js 填充。那正确吗?我怎么做?我对js了解不多。

我的 jsfiddle

4

2 回答 2

1

Modernizr 不为 CSS3 功能提供任何 polyfill。它确实提供了一个简单的 polyfill 来启用旧浏览器中 HTML5 元素的样式。除此之外,它主要用作通过将类名添加到页面的 html 标记来检测特征的方法。

所以在你的CSS中,你可以做类似的事情

.borderradius .mydiv {
    border-radius: 8px;
}

如果您的浏览器支持,Modernizer 会将 .borderradius 类名添加到页面的 html 标记中……或者您可以在 js 中使用它来选择性地回退到插件等。

于 2012-08-14T03:23:54.903 回答
1

您需要添加 yepnope 脚本来检查是否支持 css3 转换。例如像这样:

yepnope({
  test : Modernizr.transition,
  yep  : '',
  nope : ['polyfillfortransition.js']
});

更新

实际上,如果您使用 jQuery,则有一个插件可以做到这一点。您不需要执行上面的代码。Addy Osmani 的这篇文章将更好地解释它http://addyosmani.com/blog/css3transitions-jquery/。在那篇文章中,他还解释了 yepnope 的用法。

于 2012-08-14T02:51:06.663 回答