2012-03-17 74 views
1

我有这些HTML条件代码为IE 7,但他们似乎没有工作。HTML CSS IE7条款代码

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

<link rel="stylesheet" type="text/css" href="/css/styles.css" /> 

是有什么问题他们还是我丢失的东西?

+1

这应该工作。你可以提供演示吗?如果你想忽略'styles.css' for IE,请参阅[这个问题](http://stackoverflow.com/questions/9709715/using-two-conditional-css-if-statements-uses-neither-style-sheet )。 – 2012-03-17 15:40:36

+0

谢谢Rob W. – user1269625 2012-03-17 15:51:34

回答

4

如果您调整规则IE7在stylesie.css,那么就应该后加载原始的css文件:

<link rel="stylesheet" type="text/css" href="/css/styles.css" /> 

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

规则具有相同specificity选择将覆盖旧的,所以IE7将首先解析stylesie.css并用styles.css覆盖那些规则。

Basic example of this behavior:

div, div.red{ 
    color:red; 
} 
div{ 
    color:blue; 
} 

这将导致一个蓝色的所有<div>,除了一个标记与类red

0

从给定的信息我只能尝试猜测:对我来说,看起来"/css/styles.css"覆盖了以后包含的一些CSS属性"/css/stylesie.css"。所以我会尝试包括它之前:

<link rel="stylesheet" type="text/css" href="/css/styles.css" /> 

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

我猜你插入它的位置是问题。您的页面首先加载IE定义,然后添加您的CSS应该是所有浏览器的“默认”CSS。现在,如果您的IE版本中存在相同元素的定义,那么它将简单地覆盖这些元素。