• ie条件注释


    1 <!--[if lt IE 7]>      <html class="lt-ie9 lt-ie8 lt-ie7"> <![endif]-->
    2 <!--[if IE 7]>         <html class="lt-ie9 lt-ie8">        <![endif]-->
    3 <!--[if IE 8]>         <html class="lt-ie9">               <![endif]-->
    4 <!--[if gt IE 8]><!--> <html>                              <!--<![endif]-->

    能够正确的理解上面这段的执行过程的话,对ie条件注释的使用应该是掌握了、

    第1行:
    浏览器为ie6及ie5判断为真,所以解析为<html class="lt-ie9 lt-ie8 lt-ie7">
    浏览器为ie7--ie9判断为假,解析为空。
    ie10及以上和非ie浏览器作为注释忽略掉(因为他们都不支持条件注释)。

    第二行,第3行,
    解析过程类似于行1.

    第4行比较特殊:
    浏览器为ie5-ie9的话判断为假,解析为空。
    浏览器为ie9,判断为真,解析出<html>。
    浏览器为ie10及以上和非ie,<![if gt IE 8]> 以及 <![endif]>会被当做无法识别的标签,整条代码最终被解析为<html>。

    如果按下面这样写的话其实是错误的。
    <!--[if gt IE 8 | !IE]> <html> <![endif]-->
    ie9判断为真,解析出<html>。可是ie10及非ie浏览器会把它当做注释忽略,因此无法正确解析出<html>。

    总结:
    ie条件注释只能被ie浏览器解析,非ie浏览器当做注释处理、
    所以<!--[if !IE]>html<![endif]-->,实际上并无实际用途。并不能让非ie浏览器解析出html。
    如果想排除ie让其他浏览器正确解析的话,应该使用
    <!--[if !IE]><!--> <html>                              <!--<![endif]-->
    这种条件注释的类型被称作downlevel-hidden

    参考:http://www.veryhuo.com/a/view/50853.html
  • 相关阅读:
    广播BroadcastReceiver(2)
    hunnu11544:小明的烦恼——找字符串
    Systemd启动图形界面过程
    大数据.......
    2014百度之星第一题Energy Conversion
    基于zookeeper简单实现分布式锁
    LeetCode OJ 215. Kth Largest Element in an Array 堆排序求解
    Leetcode
    Linux文件系统(七)---系统调用之open操作(一)
    Go语言Slice操作.
  • 原文地址:https://www.cnblogs.com/web-coding/p/4764133.html
Copyright © 2020-2023  润新知