HTML中的Hack手段之条件注释
通常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手段之条件注释的更多相关文章
- HTML(九)HTML 条件注释规范
HTML 条件注释(hack常用) IE条件注释是微软从IE5开始就提供的一种非标准逻辑语句,作用是可以灵活的为不同IE版本浏览器导入不同html元素.很显然这种方法的最大好处就在于属于微软官方给出的 ...
- HTML中的Hack条件注释语句
IE 条件注释判断语句是 IE 特有的功能,通过 HTML 注释中的条件语句能让不同的 IE 版本识别注释中的内容 自IE10起,标准模式不再支持条件注释 条件注释语句中可以是HTML.CSS也可以是 ...
- HTML在IE中的条件注释
HTML在IE中的条件注释 HTML的条件注释在IE5中被首次引入,直到IE9.一直都是简单地判定用户浏览器(IE,非IE,IE版本)的一种手段,而在IE10的标准模式下,条件注释功能被停止支持(兼容 ...
- HTML下在IE浏览器中的专有条件注释
在进行WEB标准网页的学习和应用过程中,网页对浏览器的兼容性是经常接触到的一个问题.其中因微软公司的Internet Explorer(简称IE)占据浏览器市场的大半江山,此外还有Firefox.Op ...
- ie10 css hack 条件注释等兼容方式整理
点评:ie10已经上线一段时间了,相信已经有一部分前端潮人体验过了,截至到现在,在ie6到ie9的浏览器各种各样的古怪行为,开发人员不得不使用条件注释,有条件的类,和其他特定于IE的css hack来 ...
- HTML的条件注释和hack技术
在很多时候,前端的兼容性问题,都很让人头痛!幸运的是,微软从去年声明:从2016年1月12日起,微软将停止为IE8(包括IE8)提供技术支持和安全更新.整个前端圈子都沸腾起来,和今年七月份Adobe宣 ...
- HTML的条件注释及hack技术
在很多时候,前端的兼容性问题,都很让人头痛!幸运的是,微软从去年声明:从2016年1月12日起,微软将停止为IE8(包括IE8)提供技术支持和安全更新.整个前端圈子都沸腾起来,和今年七月份Adobe宣 ...
- HTML中的IE条件注释,让低版本IE也能正常运行HTML5+CSS3网站的3种解决方案
最近的项目中,因为需要兼容IE7,IE8,IE9,解研究了IE的条件注释,顺手写下来备忘. HTML中的IE条件注释 IE条件注释是一种特殊的HTML注释,这种注释只有IE5.0及以上版本才能理解. ...
- JScript中的条件注释详解(转载自网络)
JScript中的条件注释详解-转载 这篇文章主要介绍了JScript中的条件注释详解,本文讲解了@cc_on.@if.@set.@_win32.@_win16.@_mac等条件注释语句及可用于条件编 ...
随机推荐
- sql注入之简要注入
#mysql简要注入流程 mysql注入简要流程如下图: 由于还没学习完先结合sqlilabs的第一关讲解信息收集的一部分和数据注入的information_schema的有据查询. #sqli-la ...
- 羽夏看Win系统内核——消息机制篇
写在前面 此系列是本人一个字一个字码出来的,包括示例和实验截图.由于系统内核的复杂性,故可能有错误或者不全面的地方,如有错误,欢迎批评指正,本教程将会长期更新. 如有好的建议,欢迎反馈.码字不易, ...
- SpringMVC 和SpringBoot中的注解是如何起作用的,如何实现的
SpringMVC源码解读 - HandlerMapping - RequestMappingHandlerMapping初始化 https://www.cnblogs.com/leftthen/ ...
- mysql 客户无感知迁移_亿级账户数据迁移,不用数据库工具还能怎么搞?
原标题:亿级账户数据迁移,不用数据库工具还能怎么搞? 背景 在阿里巴巴内部"大中台,小前台"的组织和业务体制,使前线业务更加敏捷,赋能业务积极迎接未来挑战和机遇,在阿里大中台能力建 ...
- 那么回到我们开始的问题,通常一棵B+树可以存放多少行数据?
这里我们先假设B+树高为2,即存在一个根节点和若干个叶子节点,那么这棵B+树的存放总记录数为:根节点指针数*单个叶子节点记录行数. 上文我们已经说明单个叶子节点(页)中的记录数=16K/1K=16.( ...
- JVM的小总结(转)
ref:http://www.cnblogs.com/ityouknow/p/6482464.html 注1:看了大神:纯洁的微笑的JVM系列篇,发现好多地方还是似懂非懂,理解的并不透彻,jvm的调优 ...
- Redis 集群,集群的原理是什么?
1).Redis Sentinal 着眼于高可用,在 master 宕机时会自动将 slave 提升为master,继续提供服务. 2).Redis Cluster 着眼于扩展性,在单个 redis ...
- 怎么获取 Java 程序使用的内存?堆使用的百分比?
可以通过 java.lang.Runtime 类中与内存相关方法来获取剩余的内存,总内存及 最大堆内存.通过这些方法你也可以获取到堆使用的百分比及堆内存的剩余空间. Runtime.freeMemor ...
- 解释 Spring 框架中 bean 的生命周期?
Spring 容器 从 XML 文件中读取 bean 的定义,并实例化 bean. Spring 根据 bean 的定义填充所有的属性. 如果 bean 实现了 BeanNameAware 接口,Sp ...
- Netty学习摘记 —— Netty客户端 / 服务端概览
本文参考 本篇文章是对<Netty In Action>一书第二章"你的第一款 Netty 应用程序"的学习摘记,主要内容为编写 Echo 服务器和客户端 第一款应用程 ...