Modernizr + html5shiv VS ie9.js

时间:2012-04-14 09:37:39

标签: html5 css3 modernizr html5shiv

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

因此,我最需要的是对html5元素的完全支持,并且最好是“max-width”图像的良好显示后备,而不使用CSS hacks。

我应该遵循以下哪些选项?

  1. 包含带有条件评论的html5shiv和ie9.js
  2. 仅包含所有浏览器的ie9.js
  3. 忘记ie9.js
  4. 非常感谢!

2 个答案:

答案 0 :(得分:4)

html5shiv和ie9.js完全不同。 html5shiv解决了早期版本的Internet Explorer中的一个错误,其中任意元素(例如HTML5引入的那些,浏览器之前的版本)都不能由CSS设置。 ie9.js尝试修复旧版IE中的某些渲染错误,并添加对较新的CSS3功能的支持。要包含哪一个的问题归结为你的意思:

  

完全支持html5元素

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


还有一件事:

  

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

永远不应该是一个选项 - 这样做只会对您的网页在其他浏览器上的效果产生负面影响。

答案 1 :(得分:0)

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

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