【问题标题】:HTML5shiv vs Dean Edwards IE7-js vs Modernizr - which to choose?HTML5shiv vs Dean Edwards IE7-js vs Modernizr - 选择哪个?
【发布时间】:2011-04-20 19:06:47
【问题描述】:

我正在寻找建立我的第一个 HTML5 网站并一直在考虑使用 IE。

有 html5shiv、Dean Edwards ie7-js,然后是 Modernizr。这些都大体相同吗?我不知道该走哪条路。

【问题讨论】:

  • +10 提出了一个很好的问题。

标签: html modernizr


【解决方案1】:

不,它们根本不一样;他们做的事情完全不同。

  • html5shiv 允许您在不理解它们的 IE 版本中使用新的 HTML5 标签。没有它,IE 会卡在这些标签上,所以如果你打算使用这些标签,你需要这个。不要指望它会让标签在 IE 中真正做任何事情!它只是阻止浏览器抱怨它们。

  • modernizr 在您的 HTML 中设置一堆类,具体取决于可用的功能,您可以使用这些类根据浏览器支持的内容更改布局。 It also allows you to use the new HTML5 tags in IE,如 html5shiv。

  • ie7.js(以及 ie8.jsie9.js)使用 Javascript 来为 IE 补上一些缺失的功能。

据我所知,它们之间没有交叉(除了 html5shiv/modernizr),因此您可以使用它们的任意组合,具体取决于您需要实现的功能。

当我谈到这个主题时,既然你在询问使 IE 与其他浏览器更兼容的工具,我建议你也看看 CSS3Pie,这将使你的生活如果您打算在您的网站上使用圆角(加上一两个其他功能),那就更开心了。

这也与您提到的其他三个产品没有交叉,尽管它们都旨在使旧版本的 IE 更易于使用。

【讨论】:

  • 这就是我一直在寻找的答案。谢谢:)
  • Modernizr 基本上包含了整个 html5shiv。
  • 很棒的概览。当然也给了我一些方向。谢谢!
  • @RoyiNamir - Modernizr 在 HTML 中设置类。它本身对这些类没有任何作用,但您可以使用其他 JS 库或 CSS 来引用这些类并做任何您想做的事情,就像您对 HTML 代码中的任何其他类一样。一个例子:你想在你的输入标签中使用placeholder。但是旧的IE不支持。 Modernizr 将在 IE 中添加一个类no-placeholder;您可以编写引用此类的 Javascript 代码,以便您可以实现一个脚本来模拟占位符功能,而无需在不需要它的浏览器上运行它。希望能解释一下
  • IE9.js 完成所有 html5shiv 的工作。
【解决方案2】:

开始一个新的 HTML5 项目最简单的方法是使用initializr。它将指导并让您构建、下载您的 HTML5 项目文件。

【讨论】:

    【解决方案3】:

    它们有些相同,无论哪种方式,ATM 都是一个很好的猜测,并且记录在案,你错过了一个, http://html5boilerplate.com/ 这有点像几年前原型和 jQuery 在同一个空间中战斗的重演。我个人认为 jQuery 会获胜,但目前尚不清楚其中哪一个会赢得这场特殊的战斗。我不认为我可以推荐 Dean edwards ie7-js,因为它主要处理的是让 IE7 像其他更智能和更受欢迎的浏览器一样运行,而不是像其他框架一样充分利用整个 HTML5。

    【讨论】:

    • 感谢您提及样板文件。我打算在我的问题中包含这个,但我希望它特定于我的问题中的 3 个项目,因为 Modenizer 包含在样板文件中。
    • 您对 html5boilerplate 是什么不正确,html5boilerplate 是一个包含启动 Web 项目所需的包,例如 initializr,在旧版本的 html5boilerplate 中的某个时候,甚至现在,它会解释你应该使用modernizr或html5shiv而不是同时使用,因为modernizr可以满足你的需要,你也应该为你的生产环境下载一个自定义的modernizr并只使用你需要的,如果你不打算使用modernizr提供的类那么你的应该坚持使用 html5shiv!
    • html5boilerplate 自 2010 年和现在提出这个问题以来发生了巨大变化。然后它做到了,当时提出的问题中想要的是什么,捆绑了启动 HTML5 项目所需的一切。最初的问题是“我正在寻找构建我的第一个 HTML5”。我仍然相信 html5boilerplate 是一个可接受的替代选项,用于在提出问题时提出的问题。
    猜你喜欢
    • 1970-01-01
    • 2011-08-05
    • 1970-01-01
    • 2011-05-01
    • 2021-03-23
    • 2011-12-09
    • 2011-12-04
    • 2011-01-23
    • 2012-08-28
    相关资源
    最近更新 更多