【问题标题】:Modernizr+html5shiv VS ie9.jsModernizr+html5shiv VS ie9.js
【发布时间】:2012-04-14 09:37:39
【问题描述】:
我正在使用 HTML5 构建响应式设计。
起初我使用了 Modernizr 和 HTML5 Boilerplate 的 CSS 重置,但是当然 IE
因此,我最需要的是对 html5 元素的全面支持,最好是对具有“最大宽度”的图像进行良好的显示后备,而不使用 CSS hack。
我应该遵循哪些选项?
- 在条件 cmets 中包含 html5shiv 和 ie9.js
- 仅包含适用于所有浏览器的 ie9.js
- 忘记 ie9.js
非常感谢!
【问题讨论】:
标签:
html
css
modernizr
html5shiv
【解决方案1】:
html5shiv 和 ie9.js 做完全不同的事情。 html5shiv 解决了旧版本 Internet Explorer 中的一个错误,其中任意元素(例如由 HTML5 引入的那些,浏览器早于这些元素)无法通过 CSS 设置样式。 ie9.js 尝试修复旧版本 IE 中的某些渲染错误并添加对新 CSS3 功能的支持。包含哪一个的问题归结为您的意思:
完全支持 html5 元素
您是否需要使用这些元素并支持旧版本的 IE?然后你需要html5shiv。你需要使用 CSS3 属性和选择器吗?然后你会想要ie9.js。包含 ie9.js 只是为了添加对max-width 的支持,但这不是一个好主意。
还有一件事:
仅包含适用于所有浏览器的 ie9.js
绝不应该是一种选择 - 这样做只会对您的网页在其他浏览器上的性能产生不利影响。
【解决方案2】:
Modernizr 包含将新标签添加到 IE
只需从 HTML5BoilerPlate 中提供的 index.html 和其他文件文件开始,并在其中添加您的代码。