您当前的位置:首页 > 网站建设笔记 >

IE条件注释

来源:CSS3实战:开发与实战0

很多人认为IE条件注释很糟糕,就因为它是微软发明的私有特性,用来给开发者为特定版本的IE指定HTML、CSS和JavaScript。这些条件注释可能被用于任何不正当的用途,代表了那些一定是骷髅发明的“特性”(他肯定还发明了IE行为、IE6渲染引擎和肥皂剧)。

不管怎么说,它在网页开发的实践中还是很有用的,特别是在你想通过CSS为旧版IE修补渲染错误或想让浏览器避免那些不需要的修补以节省带宽和HTTP请求时。它看起来是这样的,在我的模板中也引入了这些代码:

<!--[if lt IE 9]>
	<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js">
	</script>
<![endif]-->

整个结构由一个标准的HTML注释包裹,因此任何非IE浏览器很容易就直接跳过这一整段。而IE会将其当做一个if判断来对待,并在符合第一行的条件时运行里面的代码。在本例中,条件逻辑是if lt IE 9,意思是“如果版本低于IE9”——因此对于任何低于IE9的IE来说其内部的脚本就会被执行。[endif]部分标出了条件内容的结束位置。

注意:你可以随意在HTML中的任意位置使用这些IE条件判断。而下列可能则是你最常用到的:

  • if IE为所有版本IE返回其内容。
  • if IE 6为特定版本的IE返回其内容,在这里是IE6。
  • if lt IE 9为早于特定版本的IE返回其内容,在这里是早于IE9的版本。
  • if lte IE 8为早于和等于特定版本的IE返回其内容,在这里是早于IE8的版本和IE8

同样,还可以使用gt和gte(“大于”和“大于或等于”),但你可能很少会用到,大多数时候你可能出于以下的目的来使用IE条件判断:

  • 给特定版本的IE制定脚本,诸如为IE提供替代机制或给它添加本身不支持的HTML和CSS特性。
  • 用CSS来修复IE特定的CSS问题,以免你精心设计的布局被无情地破坏。最明显的修复就是给旧版IE制定不同的宽度和高度来补偿很多布局设计中破损的盒模型,让你的布局在IE中表现正常。
  • 提醒旧版IE用户,促使他们升级浏览器。

注意:IE10完全忽略条件注释,因此你不能用它专门地向IE10引入代码。这不是个坏消息:IE10有着非常好的标准支持性,称得上是一款现代浏览器,因此你不再需要使用条件注释。

建站咨询

在线咨询真诚为您提供专业解答服务

咨询热线

137 1731 25507×24小时服务热线

微信交流

二维码终于等到你,还好我没放弃
返回顶部