5

我们正在编写由另一家公司设计的网站逻辑。(他们向我们发送了 html 文件)

然而,当我们查看他们的源代码 html 时,我们看到:

1) modernizr.js

2)创建html5元素脚本:

<!--[if lt IE 9]>
       <script>
          document.createElement('header');
          document.createElement('nav');
          document.createElement('section');
          document.createElement('article');
          document.createElement('aside');
          document.createElement('footer');
       </script>
    <![endif]-->

3) HTML5 shiv JS:

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

4)css3-mediaqueries.js媒体查询参考

5) Respond.js v1.1.0 最小/最大宽度媒体查询

我对 html5 integration 了解不多,但我认为这里有一个冗余组件

比如我听说modernizr 已经包含了提供的解决方案html5 shiv

作为我想使用的假设,我modernizr.js应该保留哪些组件?(我用数字标记了每个部分,以便您更容易参考)。

(ps这个问题没有多大帮助,因为我有更多的部分)

4

2 回答 2

1

所有这些都旨在做两件事:

  1. 允许在旧版浏览器(1、2 和 3)中呈现 HTML5 元素
  2. 在旧版浏览器(4 和 5)中启用 CSS 媒体查询

今天使用它们的方式,在您的示例中,您将有很多重叠的功能,这是不必要的。我对此的看法如下。

HTML 支持

如果您将 Modernizer 用于其他目的,而不仅仅是在旧浏览器中启用 HTML5 元素,那么我建议您仅使用 Modernizer 并删除 2 和 3,因为 Modernizer 包括 HTML5 shiv。

如果您不使用 Modernizer,则可能没有必要加载整个库。那么你最好只使用 HTML5 shiv,并带有条件的 IE 注释。

使用没有。如果您使用 1 或 3,则 2 似乎完全多余。

媒体查询支持

当涉及到 4 和 5 时,它们都通过在缺乏本机支持的浏览器中添加对媒体查询的支持来在旧浏览器中启用响应式网站。

我只有个人经验Respond.js,非常轻量级。限制是它只会添加对min/max-width媒体查询的支持。如果这对您的设计来说足够了,那么没有。5个就足够了。

如果您需要更广泛的媒体查询支持,我相信您需要考虑否。4 相反,但我想你可以摆脱不。5,因为它是多余的。

于 2013-01-16T09:09:01.080 回答
-2

根据modernizr 网页上的声明,您不需要任何其他检查来测试 HTML5 元素和 CSS3 媒体查询。

这意味着您可以放弃所有其他库,但仍需要返回检查。

于 2013-01-16T08:59:46.613 回答