以正确的方式使用条件评论

时间:2012-08-16 19:28:33

标签: html css conditional-comments

我想知道,在使用条件注释时,正确的方法是什么(注意结束div标签)

这样,两个条件div都有一个结束div

<!--[if IE]>
<div id="IEdiv">
<![endif]-->

<!--[if !IE]><!-->
<div id="AllOtherDiv">
<!--<![endif]-->

  <div>The Content</div>
</div>

OR

这样,每个条件div的结束div,并重复SAME html

<!--[if IE]>
<div id="IEdiv">
<div>The Content</div>
</div> 
<![endif]-->

<!--[if !IE]><!-->
<div id="AllOtherDiv">
<!--<![endif]-->
<div>The Content</div>        
</div>

注意:你可能想知道为什么我不只是使用条件样式表,如果内部HTML是相同的,但我在条件div上使用内联样式(我必须),IE的内联样式是不同的(必要因为IE很糟糕,它支持css ...... )

谢谢

2 个答案:

答案 0 :(得分:2)

技术上既不对也不错,但如果跨浏览器的内容相同则重复内容似乎相当浪费。只需像第一个示例中那样对开始标记进行条件化。 HTML注释旨在允许这种技术。

顺便说一句,

HTML5 Boilerplate恰好使用<html>开始标记来执行此操作,除了类和稍有不同的条件注释之外,只要您正确定位浏览器,就可以使用所需的任何属性:

<!--[if lt IE 7]> <html lang="en-us" class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]-->
<!--[if IE 7]>    <html lang="en-us" class="no-js lt-ie9 lt-ie8"> <![endif]-->
<!--[if IE 8]>    <html lang="en-us" class="no-js lt-ie9"> <![endif]-->
<!--[if gt IE 8]><!--> <html lang="en-us" class="no-js"> <!--<![endif]-->

答案 1 :(得分:1)

<!--[if IE]>
<div id="IEdiv">
<![endif]-->

<!--[if !IE]><!-->
<div id="AllOtherDiv">
<!--<![endif]-->

  <div>The Content</div>
</div>

是正确的方法,因为您在许多网站上看到了这一点:

<!--[if IE9]>
<html class="ie9">
<![endif]-->

<!--[if IE8]>
<html class="ie8">
<![endif]-->

<!--[if lte IE7]>
<html class="ie7">
<![endif]-->

<!--[if !IE]><!-->
<html>
<!--<![endif]-->

content....

</html>