我想知道,在使用条件注释时,正确的方法是什么(注意结束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 ...... )
谢谢
答案 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>