1

我正在使用 HTML5 构建响应式设计。起初我使用了 Modernizr 和 HTML5 Boilerplate 的 CSS 重置,但当然 IE<9 无法识别 html5 元素的类和 id。

因此,我最需要的是对 html5 元素的完全支持,最好是对具有“最大宽度”的图像进行良好的显示后备,而不使用 CSS hack。

我应该遵循哪些选项?

  1. 包含带有条件注释的 html5shiv 和 ie9.js
  2. 仅包含适用于所有浏览器的 ie9.js
  3. 忘记 ie9.js

非常感谢!

4

2 回答 2

4

html5shiv 和 ie9.js 做完全不同的事情。html5shiv 解决了旧版本 Internet Explorer 中的一个错误,其中任意元素(例如由 HTML5 引入的那些,浏览器早于这些元素)无法通过 CSS 设置样式。ie9.js 尝试修复旧版本 IE 中的某些渲染错误并添加对新 CSS3 功能的支持。包括哪一个的问题归结为您的意思:

完全支持 html5 元素

您是否需要使用这些元素并支持旧版本的 IE?然后你需要html5shiv。你需要使用 CSS3 属性和选择器吗?然后你会想要ie9.js。仅仅为了添加对 ie9.js 的支持而包含 ie9.jsmax-width并不是一个好主意。


还有一件事情:

仅包含适用于所有浏览器的 ie9.js

永远不应该是一种选择 - 这样做只会对您的页面在其他浏览器上的性能产生不利影响。

于 2012-04-14T11:52:59.890 回答
0

Modernizr 包含用于将新标签添加到 IE<9 的 shiv 代码。确保在其他 javascript 链接/代码之前将链接添加到 head 部分。

只需从 HTML5BoilerPlate 中提供的 index.html 和其他文件文件开始,然后添加您的代码。

于 2012-04-14T11:41:44.940 回答