HTML的页面IE注释

我们常常会在网页的HTML里面看到形如[if lte IE 9]……[endif]的代码,表示的是限定某些浏览器版本才能执行的语句,那么这些判断语句的规则是什么呢?请看下文:

<!--[if !IE]><!--> 除IE外都可识别 <!--<![endif]-->
<!--[if IE]> 所有的IE可识别 <![endif]-->
<!--[if IE 6]> 仅IE6可识别 <![endif]-->
<!--[if lt IE 6]> IE6以及IE6以下版本可识别 <![endif]-->
<!--[if gte IE 6]> IE6以及IE6以上版本可识别 <![endif]-->
<!--[if IE 7]> 仅IE7可识别 <![endif]-->
<!--[if lt IE 7]> IE7以及IE7以下版本可识别 <![endif]-->
<!--[if gte IE 7]> IE7以及IE7以上版本可识别 <![endif]-->
<!--[if IE 8]> 仅IE8可识别 <![endif]-->
<!--[if IE 9]> 仅IE9可识别 <![endif]-->

项目 范例 说明
! [if !IE] The NOT operator. This is placed immediately in front of the feature, operator, or subexpression to reverse the Boolean meaning of the expression.
NOT运算符。这是摆立即在前面的功能,操作员,或子表达式扭转布尔表达式的意义。
lt [if lt IE 5.5] The less-than operator. Returns true if the first argument is less than the second argument.
小于运算符。如果第一个参数小于第二个参数,则返回true。
lte [if lte IE 6] The less-than or equal operator. Returns true if the first argument is less than or equal to the second argument.
小于或等于运算。如果第一个参数是小于或等于第二个参数,则返回true。
gt [if gt IE 5] The greater-than operator. Returns true if the first argument is greater than the second argument.
大于运算符。如果第一个参数大于第二个参数,则返回true。
gte [if gte IE 7] The greater-than or equal operator. Returns true if the first argument is greater than or equal to the second argument.
大于或等于运算。如果第一个参数是大于或等于第二个参数,则返回true。
( ) [if !(IE 7)] Subexpression operators. Used in conjunction with boolean operators to create more complex expressions.
子表达式运营商。在与布尔运算符用于创建更复杂的表达式。
& [if (gt IE 5)&(lt IE 7)] The AND operator. Returns true if all subexpressions evaluate to true
AND运算符。如果所有的子表达式计算结果为true,返回true
| [if (IE 6)|(IE 7)] The OR operator. Returns true if any of the subexpressions evaluates to true.
OR运算符。返回true,如果子表达式计算结果为true。

<!--[if lt IE 9]>
加载CSS1
<!--[else]>
加载CSS2
<![endif]-->

这样有效是有效,但是用HTML VALIDATOR里,报错,因为这个不符合XHTML 1.1的规范,
如果把ELSE语句去掉,则正确.

方法1:

加载CSS2
<!--[if lt IE 9]>
加载CSS1(可以把要重写的写在这里).
<![endif]-->

<!--[if lte IE 6]>

<![endif]-->

IE6及其以下版本可见

<!--[if lte IE 7]>

<![endif]-->

IE7及其以下版本可见

<!--[if IE 6]>

<![endif]-->

只有IE6版本可见

<![if !IE]>

<![endif]>

除了IE以外的版本

<!--[if lt IE 8]>

<![endif]-->

IE8及其以下的版本可见

<!--[if gte IE 7]>

<![endif]-->

IE7及其以下的版本可见

用法:

(1)

可使用如下代码检测当前IE浏览器的版本(注意:在非IE浏览器中是看不到效果的)

<!––[if IE]>

<h1>您正在使用IE浏览器</h1>        <!––[if IE 5]>

<h2>版本 5</h2>        <![endif]––>

<!––[if IE 5.0]>

<h2>版本 5.0</h2>        <![endif]––>

<!––[if IE 5.5]>

<h2>版本 5.5</h2>        <![endif]––>

<!––[if IE 6]>

<h2>版本 6</h2>        <![endif]––>

<!––[if IE 7]>

<h2>版本 7</h2>        <![endif]––>

<![endif]––>

那如果当前的浏览器是IE,但版本比IE5还低,该怎么办呢,可以使用<!–[if ls IE 5]>,当然,根据条件注释只能在IE5+的环境之下,所以<!–[if ls IE 5]>根本不会被执行。

lte:就是Less than or equal to的简写,也就是小于或等于的意思。 lt :就是Less than的简写,也就是小于的意思。 gte:就是Greater than or equal to的简写,也就是大于或等于的意思。

gt :就是Greater than的简写,也就是大于的意思。

! : 就是不等于的意思,跟javascript里的不等于判断符相同

时间: 2024-08-13 00:49:34

HTML的页面IE注释的相关文章

multiwii 2.4配置页面中文注释

1 #ifndef CONFIG_H_   2 #define CONFIG_H_   3    4 /*************************************************************************************************/   5 /****           可配置参数                                                 ****/   6 /**************

让Jayrock插上翅膀(加入输入输出参数注释,测试页面有注释,下拉框可以搜索)

继上一篇文章介绍了Jayrock组件开发接口的具体步骤和优缺点之后,今天给大家带来的就是,如何修复这些缺点. 首先来回顾一下修复的缺点有哪些: 1.每个接口的只能写大概的注释,不能分开来写,如接口的主要功能,输入的参数是什么意思,输出的字段是什么意思. 2.测试页面中,针对每个接口的功能注释是没有的,这样非常不方便,因为接口一多,开发人员很难快速的定位要使用的接口. 3.测试页面中,选择的下拉框不能输入搜索,只能一个个选择,接口一多,绝对是个悲剧的活. 那么下面就展示我是如何修复这些缺点的: 1

页面的注释

在网页中,除了以上这些基本标签外,还包含一种不显示在页面中的元素,那就是代码的注释文字.适当的注释可以帮助用户更好地了解网页中各个模块的划分,也有助于以后对代码的检查和修改.给代码加注释,是一种很好的编程习惯.在HTML5文档中,注释分为三类:在文件开始标签<html></html>中的注释.在CSS层叠样式表中的注释和在JavaScirpt中的注释,JavaScirpt中的注释有两种形式.下面将对这三类注释的具体语法进行介绍在文件开始标签<html></html

JSP页面的注释细节

业务场景:通过后台传参,jstl标签控制一个页签是否显示,不过现在要去掉判断,直接让页签显示 在sublime直接这样注释,然后刷新,一直找不到标签显示,其它的都是正常的 <!--<c:if test="${actionFlag != 'layer'}">--> <li > <a href="javascript:delayPrint()"> <i class="fa fa-fw fa-check-sq

JSP页面的基本元素

JSP页面元素构成:静态内容.指令.表达式.小脚本.声明.注释. JSP指令包括: page指令:通常位于jsp页面的顶端,同一个页面可以有多个page指令. include指令:将一个外部文件嵌入到当前JSP文件中,同时解析这个页面中的JSP语句. taglib指令:使用标签库定义新的自定义标签,在JSP页面中启用定制行为. page指令语法: <%@page 属性="属性值" 属性2="属性值1,属性值2"... 属性n="属性值n"

MyEclipse中jsp的注释报错解决

jsp页面中注释报错: 出错现场:在eclipse中没有报错,在MyEclipse中报错. <!-- To use express install, set to playerProductInstall.swf, otherwise the empty string. --> Myeclipse的js中不会识别这样的标识 需要改成: //  To use express install, set to playerProductInstall.swf, otherwise the empty

Visual Studio 创建代码注释默认模版方法

在日常的开发中我们经常需要为页面添加注释和版权等信息,这样我们就需要每次去拷贝粘贴同样的文字,为了减少这种重复性的工作,我们可以把这些信息保存在Visual Studio 2012类库模版文件里 1.找到你的VS图标 右键-属性--打开文件所在目录 然后找到如下列表--CSarp文件夹                   快速定位vs安装目录↓ 安装在c盘的如下             vs2010:%ProgramFiles%\Microsoft Visual Studio 11.0\Comm

git修改未push和已经push的注释信息

修改还未push的注释: git commit --amend 修改后保存退出. 刚刚push到远端还没有人其他人下载或改动的: git commit --amend1进入修改页面修改注释信息,修改后:wq保存退出. 再使用git push --force-with-lease origin master 如果其他人已经下载或改动: git fetch origingit reset --hard origin/master 原文地址:https://www.cnblogs.com/-wangl

创建基于ASP.NET core 3.1 的RazorPagesMovie项目(三)-已搭建基架的Razor页面解释和更新

本节主要介绍在上一节中通过搭建基架而创建的Razor页面,并做一些UI改变. 一.创建.删除.详细信息和编辑页面 1.双击Pages/Movies/Index.cshtml.cs文件,这是一个Razor页面模型: 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Threading.Tasks; 5 using Microsoft.AspNetCore.Mvc; 6 us