IE7具体和IE其他特定样式表互相覆盖

时间:2013-03-07 12:48:24

标签: css internet-explorer

美好的一天

我使用条件样式表来定位IE7及更低版本,以及IE8和IE9。

现在的问题是它们互相覆盖:

方案: 我将一个样式应用于IE 8和9.在IE7中,该样式不适用,所以我在IE7专用样式表中应用了一种新样式来修复它。它没有在IE7样式表中获取新样式,除非我使用!重要。但是当我在IE-7样式表中使用!important时,它会再次覆盖IE8和9个样式......

WHY ??

谢谢

包含示例样式的MY代码:

HTML:

<head>...

 <!--[if IE 7]>
    <link rel="stylesheet" type="text/css" href="../ie7-only.css" />
    <![endif]-->

    <!--[if lt IE 9]>
    <link rel="stylesheet" type="text/css" href="../ie8-only.css" />
    <![endif]-->

    <!--[if IE 9]>
    <link rel="stylesheet" type="text/css" href="../ie9-only.css" />
    <![endif]-->
</head>

CSS:

in IE 8 and 9:

#menuNav ul li#login{                
                float: right;
                margin: 0px;
            }

In IE7:

#menuNav ul li#login{                
                float: none;
                margin: 0px;
            }

每当我使用!important时,它会相互覆盖...

为什么IE9和8采用IE7风格?反之亦然......

1 个答案:

答案 0 :(得分:1)

用以下内容替换您的评论:

<!--[if IE 7]>
<link rel="stylesheet" type="text/css" href="../ie7-only.css" />
<![endif]-->

<!--[if IE 8]>
<link rel="stylesheet" type="text/css" href="../ie8-only.css" />
<![endif]-->

<!--[if IE 9]>
<link rel="stylesheet" type="text/css" href="../ie9-only.css" />
<![endif]-->