IE Conditional Comments and Chrome/Firefox

后端 未结 1 1518
感情败类
感情败类 2021-02-04 11:29

I am using the following IE conditional comment:


This works great to keep the cod

相关标签:
1条回答
  • 2021-02-04 11:43

    Conditional comments are a Microsoft IE-specific rule, and they are not part of any standard. If you check the structure of a conditional comment:

    <!--[if gt IE 7]>
    Here is some code.
    <![endif]-->
    

    As its name would imply, it is all just a big comment <!-- comment -->. IE checks comments for conditions such as these which, again, do not comply with HTML standards.

    To create code which doesn't render in IE, but does render in other browsers, you use the following conditional:

    <!--[if !IE]> -->
    This will be rendered by anything but IE.
    <!-- <![endif]-->
    

    See how the conditions are enclosed in closed comments? That's why that is rendered in normal browsers, while IE checks for the conditional, and decides to omit everything up until the endif.

    EDIT

    If you want to add another condition, and keep rendering the code on non-IE browsers, you could use the following workaround:

    <!--[if gt IE 7]> <!-- -->
    Here is some code for anything but IE 7 and below.
    <!-- <![endif]-->
    

    Note I had to use open the comment again to prevent IE from rendering --> before the code. Other browsers will still consider it part of the comment.

    0 讨论(0)
提交回复
热议问题