我正在使用HTML5 Boilerplate,直到现在我开始使用Selectivizr时才遇到问题。出于某种我不明白的原因,IE8 产生了 Javascript 错误。
经过一些测试,我注意到当我停止使用html
根据您使用的浏览器添加一个类的条件浏览器注释(在样板中)时错误消失了:
<!--[if lt IE 7]> <html class="no-js ie6 oldie" lang="en"> <![endif]-->
<!--[if IE 7]> <html class="no-js ie7 oldie" lang="en"> <![endif]-->
<!--[if IE 8]> <html class="no-js ie8 oldie" lang="en"> <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js" lang="en"> <!--<![endif]-->
正如我所说,当我删除上面的代码并将其替换为<html>
一切正常时。
由于我不想完全删除条件注释(它们帮助我编写特定于浏览器的 css),所以我想做同样的事情,但html
我不会将其应用于<body>
:
<!--[if lt IE 7]> <body class="no-js ie6 oldie" lang="en"> <![endif]-->
<!--[if IE 7]> <body class="no-js ie7 oldie" lang="en"> <![endif]-->
<!--[if IE 8]> <body class="no-js ie8 oldie" lang="en"> <![endif]-->
<!--[if gt IE 8]><!--> <body class="no-js" lang="en"> <!--<![endif]-->
一切似乎都可以正常工作,但是由于我是新手,我只想验证此解决方法是否可以?还是有缺点?
还有一个题外话:当用户使用 Firefox 或 Chrome 访问网站时,body
会“使用”什么?我猜它会body
在没有课程的情况下“使用”?
我的逻辑会告诉我写另一个条件评论,以确保“使用”body
所有其他浏览器,但是在官方样板模板中不存在这样的评论,因此我猜它不需要......为什么不呢?