通常WEB的好处就是可以跨平台,但这个世界偏偏有个另类,就是IE浏览器。在平常做HTML设计时,有时需要为IE的表示差异而不得不使用一些Hack手段。条件注释就是这类手段之一。

条件注释是IE浏览器的”专利”,也就是说我们在HTML中可以为IE嵌入一段专有标签片段,来解决IE与其它浏览器的表现差异。条件注释是在IE5之后引入的,所有针对低于IE5(<IE5.0)以前的浏览器使用条件注释的做法都是无效的。同时请注意微软已经不再针对IE10及以上浏览器支持条件注释了,所以请不要针对>=IE10的IE浏览器增加条件注释。

在HTML中,注释的格式通常是这样的:

    <!--注释内容-->

而条件注释是这样的:

   <!--[if IE 8]>
   <link href=”ie.css” rel=”stylesheet”/>
   <![endif]-->

在以上示例中,该条件注释会为版本小于等于IE8的IE系列浏览器载入一段专有样式表单。

条件注释可用的条件有:

1,lte(less than or equals to,小于或等于)

<!--[if lte IE 6]><![endif]-->

2,lt(less than,小于)

<!--[if lte IE 6]><![endif]-->

3,gte(greater than or equals to,大于或等于)

<!--[if gte IE 6]><![endif]-->

4,gt(greater than or equals to,大于)

<!--[if gt IE 6]><![endif]-->

5,特定版本IE,如IE 6 IE 7 IE 8

<!—[if IE 6]><![endif]-->

6,排除版本!

<!—[if !IE 6]><![endif]-->

利用条件注释可以为IE浏览增加一些特定的后备代码。比如当用户使用IE8以前的浏览器是可以在页面中添加一段代码如下

     <!—[if it IE 8]><p>你的浏览器版本过低,请使用火狐,谷歌,或版本大于IE8的浏览器</p><![endif-->

条件注释虽然是IE特有的,但在针对IE系列浏览器时以上这段代码可以为我们精简部分判断浏览类型及版本的代码(这似乎是条件注释不可多得的好处之一)。

HTML中的Hack手段之条件注释的更多相关文章

  1. HTML(九)HTML 条件注释规范

    HTML 条件注释(hack常用) IE条件注释是微软从IE5开始就提供的一种非标准逻辑语句,作用是可以灵活的为不同IE版本浏览器导入不同html元素.很显然这种方法的最大好处就在于属于微软官方给出的 ...

  2. HTML中的Hack条件注释语句

    IE 条件注释判断语句是 IE 特有的功能,通过 HTML 注释中的条件语句能让不同的 IE 版本识别注释中的内容 自IE10起,标准模式不再支持条件注释 条件注释语句中可以是HTML.CSS也可以是 ...

  3. HTML在IE中的条件注释

    HTML在IE中的条件注释 HTML的条件注释在IE5中被首次引入,直到IE9.一直都是简单地判定用户浏览器(IE,非IE,IE版本)的一种手段,而在IE10的标准模式下,条件注释功能被停止支持(兼容 ...

  4. HTML下在IE浏览器中的专有条件注释

    在进行WEB标准网页的学习和应用过程中,网页对浏览器的兼容性是经常接触到的一个问题.其中因微软公司的Internet Explorer(简称IE)占据浏览器市场的大半江山,此外还有Firefox.Op ...

  5. ie10 css hack 条件注释等兼容方式整理

    点评:ie10已经上线一段时间了,相信已经有一部分前端潮人体验过了,截至到现在,在ie6到ie9的浏览器各种各样的古怪行为,开发人员不得不使用条件注释,有条件的类,和其他特定于IE的css hack来 ...

  6. HTML的条件注释和hack技术

    在很多时候,前端的兼容性问题,都很让人头痛!幸运的是,微软从去年声明:从2016年1月12日起,微软将停止为IE8(包括IE8)提供技术支持和安全更新.整个前端圈子都沸腾起来,和今年七月份Adobe宣 ...

  7. HTML的条件注释及hack技术

    在很多时候,前端的兼容性问题,都很让人头痛!幸运的是,微软从去年声明:从2016年1月12日起,微软将停止为IE8(包括IE8)提供技术支持和安全更新.整个前端圈子都沸腾起来,和今年七月份Adobe宣 ...

  8. HTML中的IE条件注释,让低版本IE也能正常运行HTML5+CSS3网站的3种解决方案

    最近的项目中,因为需要兼容IE7,IE8,IE9,解研究了IE的条件注释,顺手写下来备忘.  HTML中的IE条件注释 IE条件注释是一种特殊的HTML注释,这种注释只有IE5.0及以上版本才能理解. ...

  9. JScript中的条件注释详解(转载自网络)

    JScript中的条件注释详解-转载 这篇文章主要介绍了JScript中的条件注释详解,本文讲解了@cc_on.@if.@set.@_win32.@_win16.@_mac等条件注释语句及可用于条件编 ...

随机推荐

  1. SQLMap参数命令

    SQLMap参数命令   --method=<http方法> 指定使用的http方法 --data=<post数据> 提交post数据并对post数据进行测试 --param- ...

  2. 学习SpringMVC必知必会(2)~走近Spring MVC

    一.Spring 基本介绍 1.什么是 Spring MVC? SpringMVC 是 Spring-Frame 框架的子集(Spring-Frame包含了Spring MVC), MVC 框架,(类 ...

  3. mycat的基本介绍 看这一篇就够了

    1.前置知识 1.分布式系统 ​ 分布式系统是指其组件分布在网络上,组件之间通过传递消息进行通信和动作协调的系统.它的核心理念是让多台服务器协同工作,完成单台服务器无法处理的任务,尤其是高并发或者大数 ...

  4. String 是最基本的数据类型吗?

    不是. Java中基本数据类型只有8个:byte.short.int.long.float.double.char.boolean:除了基本类型(primitive type),剩下都是引用类型(re ...

  5. 有哪些不同类型的IOC(依赖注入)方式?

    构造器依赖注入:构造器依赖注入通过容器触发一个类的构造器来实现的,该类有一系列参数,每个参数代表一个对其他类的依赖. Setter方法注入:Setter方法注入是容器通过调用无参构造器或无参stati ...

  6. 为什么线程通信的方法 wait(), notify()和 notifyAll()被定 义在 Object 类里?

    Java 的每个对象中都有一个锁(monitor,也可以成为监视器) 并且 wait(),notify() 等方法用于等待对象的锁或者通知其他线程对象的监视器可用.在 Java 的线程中 并没有可供任 ...

  7. 什么是 REST / RESTful 以及它的用途是什么?

    Representational State Transfer(REST)/ RESTful Web 服务是一种帮助计 算机系统通过 Internet 进行通信的架构风格.这使得微服务更容易理解和实现 ...

  8. Spring 切面可以应用五种类型的通知?

    Spring 切面可以应用五种类型的通知: before:前置通知,在一个方法执行前被调用. after: 在方法执行之后调用的通知,无论方法执行是否成功. after-returning: 仅当方法 ...

  9. ACL 权限控制机制?

    UGO(User/Group/Others) 目前在 Linux/Unix 文件系统中使用,也是使用最广泛的权限控制方式.是一种粗 粒度的文件系统权限控制模式. ACL(Access Control ...

  10. 修改openstack Centos镜像的默认用户的密码

    Ubuntu官方提供的OpenStack镜像是用Key来登录的,太麻烦,可以改成用密码来登录. 修改image的工具叫:guestfish. yum install libguestfs-tools ...