天天看点

HTML和CSS中如何判断ie各版本浏览器

一、html代码中

在编写网页代码时,各种浏览器的兼容性是个必须考虑的问题,有些时候无法找到适合所有浏览器的写法,就只能写根据浏览器种类区别的代码,这时就要用到判断代码了。在html代码中,区别各种浏览器的代码如下,以ie6为例

<!--[if ie 6]>仅ie6可识别<![endif]-->

<!--[if lte ie 6]> ie6及其以下版本可识别<![endif]-->

<!--[if lt ie 6]> ie6以下版本可识别<![endif]-->

<!--[if gte ie 6]> ie6及其以上版本可识别<![endif]-->

<!--[if gt ie 6]> ie6以上版本可识别<![endif]-->

<!--[if ie]> 所有的ie可识别<![endif]-->

以上这些代码写法都是针对ie各版本浏览器的,在其他浏览器中这些代码都会被解释为html注释而直接无视掉。

<body>

    <!--[if ie 6]>

    <div>

        ie6中才可以看到

    </div>

    <![endif]-->

        其他

</body>

所以要想些针对firefox之类的非ie浏览器,需要这么写:<!--[if !ie]><!--> 除ie外都可识别<!--<![endif]-->

二、css代码中

css代码中,则可以根据各浏览器自己独立的可识别的特殊代码来编写区分浏览器的代码,例如为ie系列浏览器可读[\9],而ie6和ie7可读[*],另外ie6可辨识[ _ ](下划线);由

于css读取时是按从上到下来的,同样属性靠后写的生效,因此可以依照顺序写下来,就会让每个浏览器正确的读取到自己看得懂得css语法,有效区分各类型或版本:

.classname{

background:blue; /*firefox等非ie浏览器背景变蓝色*/

background:red \9; /*ie8 背景变红色*/

*background:black; /*ie7 背景变黑色*/

_background:orange; /*ie6 背景变橘色*/

}

.classname {

background:black !important; /*非ie6 背景变黑色*/

background:orange; /*ie6 背景变橘色*/

因为其他浏览器可读取「!important;」但ie6却不行。

原帖地址:http://hi.baidu.com/yansueh/item/2c1f1adfd9c22a43ddf9beeb