关于IE条件注释(译)
|
名词 |
描述 |
| expression | 由运算符、特征和(或)值组合形成一个条件语句 |
| downlevel browser | 任何浏览器除了IE5+,其他低版本浏览器不支持条件注释 |
| uplevel browser | IE5+支持条件注释 |
| downlevel-hidden | 低版本浏览器会忽视条件注释。如果表达式为true时,IE5+会渲染HTML页面 |
| downlevel-revealed | 低版本浏览器经过条件注释的解析。如果表达式为true时,IE5+会渲染HTML页面 |
使用条件注释的好处
下列表格中展示了基本语法类型,第一个注释是最基本的HTML注释。表格比较并展示每一种条件注释的不同语法的用法。
| 注释类型 | 语法或可能的值 |
| HTML标准注释 | <!-- Comment content --> |
| downlevel-hidden | <!--[if expression]> HTML <![endif]--> |
| downlevel-revealed | <![if expression]> HTML <![endif]> |
| Item | Example | 注释 |
|---|---|---|
| IE | [if IE] | 对应IE的版本功能来查看该网页 |
| value | [if IE 7] | 一个整数或浮点标号对应于浏览器的版本。如果是与版本号匹配的浏览器版本,则返回true。 |
| WindowsEdition | [if WindowsEdition] | Windows 7的IE8。 "WindowsEdition"对应Windows的版本功能。 |
| value | [if WindowsEdition 1] | 整数对应Windows版本。如果正在使用的的值相匹配,则返回true。 |
| true | [if true] | 结果始终为true. |
| false | [if false] | 结果始终为false. |
下表描述了可用于创建条件表达式的运算符。
| Item | Example | 注释 |
|---|---|---|
| ! | [if !IE] | NOT运算符.。被放置在要素、运算符或表达式之前,扭转表达式的布尔含义。 |
| lt | [if lt IE 5.5] | 小于运算符。如果第一个参数小于第二个参数,返回true。 |
| lte | [if lte IE 6] | 小于或等于运算符。如果第一个参数小于或等于第二个参数,返回true。 |
| gt | [if gt IE 5] | 大于运算符。如果第一个参数大于第二个参数,返回true。 |
| gte | [if gte IE 7] | 大于或等于运算符。如果第一个参数大于或等于第二个参数,返回true。 |
| ( ) | [if !(IE 7)] | 子表达式运算符。配合使用布尔运算符来创建更复杂的表达式。 |
| & | [if (gt IE 5)&(lt IE 7)] | AND运算符。如果所有的子表达式的值为真,返回true。 |
| | | [if (IE 6)|(IE 7)] | OR运算符。如果任何一个子表达式的计算结果为true,返回true。 |
Downlevel-hidden条件注释
此示例显示了一个低版本隐藏的条件注释,其中包含文本。
<!--[if IE 8]>
<p>Welcome to Internet Explorer 8.</p>
<![endif]-->
<!--[if gte IE 7]>
<script>
alert("Congratulations! You are running Internet Explorer 7 or a later version of Internet Explorer.");
</script>
<p>Thank you for closing the message box.</p>
<![endif]-->
<![if lt IE 8]>
<p>Please upgrade to Internet Explorer version 8.</p>
<![endif]>
当比较这种类型HTML注释时,发现在注释块在"<!"和 ">"之后(前)没有连字符("--") ,因此,注释分隔符被视为无法识别的HTML。因为浏览器不能识别Downlevel-hidden条件注释,那么它就什么都不做了。
版本号
<!--[if IE 5]>
<p>Welcome to any incremental version of Internet Explorer 5!</p>
<![endif]-->
<!--[if IE 5.0000]>
<p>Welcome to Internet Explorer 5.0!</p>
<![endif]-->
例子
<!--[if IE]><p>You are using Internet Explorer.</p><![endif]-->
<![if !IE]><p>You are not using Internet Explorer.</p><![endif]> <!--[if IE 7]><p>Welcome to Internet Explorer 7!</p><![endif]-->
<!--[if !(IE 7)]><p>You are not using version 7.</p><![endif]--> <!--[if gte IE 7]><p>You are using IE 7 or greater.</p><![endif]-->
<!--[if (IE 5)]><p>You are using IE 5 (any version).</p><![endif]-->
<!--[if (gte IE 5.5)&(lt IE 7)]><p>You are using IE 5.5 or IE 6.</p><![endif]-->
<!--[if lt IE 5.5]><p>Please upgrade your version of Internet Explorer.</p><![endif]--> <!--[if true]>You are using an <em>uplevel</em> browser.<![endif]-->
<![if false]>You are using a <em>downlevel</em> browser.<![endif]> <!--[if true]><![if IE 7]><p>This nested comment is displayed in IE 7.</p><![endif]><![endif]-->
关于IE条件注释(译)的更多相关文章
- 浏览器兼容处理(HTML条件注释、CSSHack和JS识别)
前面的话 本文中所有IEx+代表包含x及x以上:IEx-代表包含x及x以下,仅个人习惯.例:IE7+代表IE7.IE8…… 本文中所有例子全部经过测试,欢迎交流. HTML识别 条件注释法(IE10+ ...
- IE条件注释详解
IE条件注释是微软从IE5开始就提供的一种非标准逻辑语句,作用是可以灵活的为不同IE版本浏览器导入不同html元素,如:样式表,html标签等.很显然这种方法的最大好处就在于属于微软官方给出的兼容解决 ...
- JScript中的条件注释详解(转载自网络)
JScript中的条件注释详解-转载 这篇文章主要介绍了JScript中的条件注释详解,本文讲解了@cc_on.@if.@set.@_win32.@_win16.@_mac等条件注释语句及可用于条件编 ...
- IE中的条件注释(转载自网络)
IE条件注释是微软从IE5开始就提供的一种非标准逻辑语句,作用是可以灵活的为不同IE版本浏览器导入不同html元素,如:样式表,html标签等.很显然这种方法的最大好处就在于属于微软官方给出的兼容解决 ...
- 前端备忘录 — IE 的条件注释
CSS hack 由于不同厂商的浏览器,比如 Internet Explorer,Safari,Mozilla Firefox, Chrome 等,或者是同一厂商的浏览器的不同版本,如 IE6 和 I ...
- 关于CSS中对IE条件注释的问题
一.通用区分方式:IE6.IE7能识别*,标准浏览器(如FF)不能识别*:IE6能识别*,但不能识别 !important:IE7能识别*,也能识别 !important:IE8能识别\0,不能识别* ...
- IE的条件注释
<!--[if !IE]><!--> 除IE外都可识别 <!--<![endif]--> <!--[if IE]> 所有的IE可识别 <![ ...
- 条件注释判断IE浏览器
最近在用jquery 2.0 才知道已不支持IE6/7/8 但又不想换回 jquery 1.X; 找了一资料发现条件注释可以解决这个问题 这个也像程序中的条件判断,先来介绍几个单词lt :Less t ...
- HTML中的IE条件注释
IE条件注释是一种特殊的HTML注释,这种注释只有IE5.0及以上版本才能理解.比如普通的HTML注释是: <!--This is a comment--> 而只有IE可读的IE条件注释是 ...
随机推荐
- C++文件读写练习
编写一个程序,统计data.txt文件的行数,并将所有行前加上行号后写到data1.txt文件中. 算法提示: 行与行之间以回车符分隔,而getline()函数以回车符作为终止符.因此,可以采用get ...
- backbonejs中的模型篇(三)
一:在模型中使用嵌套属性 Backbone的扩展插件 Backbone-Nested下载并添加引用 1:定义一个新的模型对象,使用Backbone.NestedModel作为其基类对象 var _mo ...
- FileUpload上传与下载
后台代码: public string connstr = "server=128.1.3.113;database=test;uid=sa;pwd=pass"; protecte ...
- Linux创建LVM
###########format disk############ 格式化磁盘,将其SystemId修改为8e fdisk /dev/sdb n p 1 [enter] [enter] t 8e w ...
- 项目中Enum枚举的使用
在.NET中,枚举一般有两种常见用法,一是表示唯一的元素序列,比如表示订单状态(未提交,待处理,处理中...).另外一种是表示多种组合的状态,比如表示权限,因为可同时有多个不同权限. 基本用法 这里拿 ...
- 表单_post提交方式和get的区别,元素集
提交方式及表单域的name属性 使用form表单一种是post提交方式,一种是get提交方式,它们以method属性来定义,如果没有指定method属性,默认get方式提交. 表单域必须配合name属 ...
- CSS3卷角
众所周知,border-radius 属性可以用来设置圆角,但很少人知道它还可以做很多不规则的犄角.卷角(rounded corners) 工作原理: 一.独立属性:border-bottom-lef ...
- iOS只执行一次的方法
IOS开发(64)之GCD任务最多只执行一次 1 前言 使用 dispatch_once 函数 在 APP 的生命周期内来保证你想确保每段代码只执行一次,即使它在代码的不同地方多次调用(比如单例的初始 ...
- 百度360争推1TB永久网盘
导读:百度云.360云盘的互掐则将云盘空间战拉升到史无前例的高度——无论是国内还是国外,还没有哪家公司有过这样的手笔. 这几天百度热热闹闹开大会,会场外“小伙伴们”也不甘寂寞. ...
- (BFS)hdoj2377-Bus Pass
题目地址 因为最后要看的是到所有路线上的区域最大距离最小的中心点,所以可以采取遍历路线上所有的区域,对每个区域进行BFS的办法.为了更方便的在每一次BFS都遍历所有的区域,可以加一个reach数组,记 ...