css - IE7 特定和 IE 其他特定样式表相互覆盖

标签 css internet-explorer

美好的一天

我正在使用条件样式表来针对 IE7 及更低版本,以及 IE8 和 IE9。

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

场景: 我将样式应用到 IE 8 和 9。在 IE7 中该样式不适用,因此我在 IE7-only 样式表中应用新样式来修复它。除非我使用 !important,否则它不会选择 IE7 样式表中的新样式。但是当我在 IE-7 样式表中使用 !important 时,它会再次覆盖 IE8 和 9 样式...

为什么??

谢谢

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 样式?反之亦然......

最佳答案

将您的评论替换为:

<!--[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]-->

关于css - IE7 特定和 IE 其他特定样式表相互覆盖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15271674/

相关文章:

html - div 高于绝对 div 和溢出

javascript - 如何让 SVG 与 IE 兼容?

javascript - 如何在没有元标记的情况下将 IE 更改为非兼容模式

永远延伸的 HTML 横幅

javascript - getElementById().getElementsByTagName() 在 IE8 中不起作用

javascript - 脚本 1002 : Syntax error in IE11 with React + Babel + Webpack

javascript - jQuery .scroll 和 scrollTop 在 IE 中不起作用

javascript - 在 JS 中进行全尺寸跳跃之前,角色会先做一个小跳跃

css - Ionic 3 - 将图像 float 到容器的右侧

javascript - 为什么我不能切换我的样式表?