HTML5 Boillerplate IE条件IE8说明

时间:2012-11-15 19:08:06

标签: html5

我一直在寻找一个解释,为什么HTML5 Boilerplate中IE的html标签条件的这一部分有这个部分:

<!--[if gt IE 8]><!--> <html class="no-js" lang="en"> <!--<![endif]-->

我问我是否理解这是如何运作的。我理解这个条件之上的条件,但为什么这个条件与上面的条件不同?与上面那些相比,我没有得到这种情况。

提前感谢您帮助我了解我将要使用的内容。

1 个答案:

答案 0 :(得分:2)

基本上,最后一部分用于IE 9及更高版本以及所有其他浏览器。但是,语法较短,并不像它可能那样直截了当,因为HTML Boilerplate非常关注优化。

我找到了解释它的文章,我建议你阅读整篇文章:

http://paulirish.com/2008/conditional-stylesheets-vs-css-hacks-answer-neither/

  

这是我提出的解决方案:

<!--[if lt IE 7]>      <html class="ie6"> <![endif]-->
<!--[if IE 7]>         <html class="ie7"> <![endif]-->
<!--[if IE 8]>         <html class="ie8"> <![endif]-->
<!--[if gt IE 8]><!--> <html>         <!--<![endif]-->

由于您可以在文章中阅读的问题,此后实际更新了。

显然,奇怪语法的一部分与Dreamweaver(!)错误有关。这是一段摘录:

  

以下是新建议,以及HTML5中使用的建议   样板。

<!--[if lt IE 7 ]> <html class="ie6"> <![endif]-->
<!--[if IE 7 ]>    <html class="ie7"> <![endif]-->
<!--[if IE 8 ]>    <html class="ie8"> <![endif]-->
<!--[if IE 9 ]>    <html class="ie9"> <![endif]-->
<!--[if (gt IE 9)|!(IE)]><!--> <html class=""> <!--<![endif]-->

基本上,最后一行是说“如果IE9 +或IE,请执行此操作”。下面的一些要点与您的问题没有直接关系,但无论如何我都会将它们包括在内。

  

为什么?

     
      
  • 这解决了Stoyan Stefanov发现的文件阻止问题   Markus Leptien。
  •   
  • 它避免了一个空的评论,也修复了上述问题   问题。
  •   
  • 像WordPress和Drupal这样的CMS使用更多的身体类   重。
  •   
  • 这使得整合触摸更简单它没有   在html4中验证但在html5中很好。处理它。
  •   
  • 很好玩   使用一种技术来启动基于页面的特定javascript   你的标记。
  •   
  • 它使用与Modernizr(和Dojo)相同的元素。那   感觉很好。
  •   
  • 我在那里留下了一个空课,因为你可能会   把no-js放在那里或其他东西。如果没有,请删除。
  •   
  • 如果   关于最后一个标签的额外评论看起来很奇怪,责备   Dreamweaver,正常窒息!IE条件评论。
  •   

此处有关此问题的更多讨论:https://github.com/h5bp/html5-boilerplate/issues/425/#