时间:2021-05-28
在进行WEB标准网页的学习和应用过程中,网页对浏览器的兼容性是经常接触到的一个问题。其中因微软公司的InternetExplorer(简称IE)占据浏览器市场的大半江山,此外还有Firefox、Opera等。需要对这些浏览器进行兼容。
同时,单就IE而言,因IE版本的升级更替,目前浏览者使用的主要停留在IE5(IE5.5)、IE6和IE7这三个版本中。而这3个版本对于我们制作的WEB标准网页(XHTML+CSS)解释执行的显示状况不尽相同。并且,其他非IE浏览器与IE对某些CSS解释也不一样。所以,通过IE浏览器中的专有条件注释可有针对性的进行相关属性的定义。
原文地址:http://ments属于CSShack?条件判断属于CSShack吗?
严格地说是属于CSShack。因为就好象其他真正的csshack一样,它使得我们可以给一些浏览器赋予特殊的样式,再则它不依赖于某个浏览器的BUG来控制另外一个浏览器(的样式)。除此之外,条件判断还能用来做一些超出CSSHACK范围的事情(虽然这种情况很少发生)。
因为条件判断不依赖于某个浏览器的hack,而是一个经过深思熟虑的特色功能,所以我相信它是可以被放心地使用的。当然,其他浏览器也有可能支持条件判断(到目前为止还没有),但是看起来,他们应该不会使用如<!--[ifIE]>这样的语法。
应该如何应用条件注释
本文一开始就说明了,因为IE各版本的浏览器对我们制作的WEB标准的页面解释不一样,具体就是对CSS的解释不同,我们为了兼容这些,可运用条件注释来各自定义,最终达到兼容的目的。比如:
<!--默认先调用css.css样式表-->
<linkrel="stylesheet"type="text/css"href="css.css"/>
<!--[ifIE7]>
<!--如果IE浏览器版是7,调用ie7.css样式表-->
<linkrel="stylesheet"type="text/css"href="ie7.css"/>
<![endif]-->
<!--[iflteIE6]>
<!--如果IE浏览器版本小于等于6,调用ie.css样式表-->
<linkrel="stylesheet"type="text/css"href="ie.css"/>
<![endif]-->
这其中就区分了IE7和IE6向下的浏览器对CSS的执行,达到兼容的目的。同时,首行默认的css.css还能与其他非IE浏览器实现兼容。
注意:默认的CSS样式应该位于HTML文档的首行,进行条件注释判断的所有内容必须位于该默认样式之后。
比如如下代码,在IE浏览器下执行显示为红色,而在非IE浏览器下显示为黑色。如果把条件注释判断放在首行,则不能实现。该例题很能说明网页对IE浏览器和非IE浏览器间的兼容性问题解决。
<styletype="text/css">
body{
background-color:#000;
}
</style>
<!--[ifIE]>
<styletype="text/css">
body{
background-color:#F00;
}
</style>
<![endif]-->
同时,有人会试图使用<!--[if!IE]>来定义非IE浏览器下的状况,但注意:条件注释只有在IE浏览器下才能执行,这个代码在非IE浏览下非单不是执行该条件下的定义,而是当做注释视而不见。
正常就是默认的样式,对IE浏览器需要特殊处理的,才进行条件注释
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
IE的有条件注释是一种专有的(因此是非标准的)、对常规(X)HTML注释的Miscrosoft扩展。IE的有条件注释是一种专有的(因此是非标准的)、对常规(X)
浏览器的条件注释理论,用下面一段例子来解释这个问题(X)HTML下面一段代码是测试在微软的IE浏览器下的条件注释语句的效果复制代码代码如下:下面的代码是在非IE
条件注释判断浏览器.除IE外都可识别
IE条件注释是一种特殊的HTML注释,这种注释只有IE5.0及以上版本才能理解。比如普通的HTML注释是:而只有IE可读的IE条件注释是:“非IE条
下面通过代码给大家讲解下,具体请看下文:IE浏览器与非IE浏览器的区别是IE浏览器支持ActiveXObject,但是非IE浏览器不支持ActiveXObjec