IE7的CSS修复公式

时间:2012-05-08 08:55:17

标签: css internet-explorer-7

在我的网站中,我需要支持IE7。现在每个人都知道IE7中的样式并不是一件容易的事。人们在HTML中使用条件语句来为特定版本的IE加载特定的样式表。但在我的情况下,我不能使用这样的条件语句,因为我在WebCenter Portal应用程序中。在这里我需要使用皮肤。它也是一个CSS文件。

所以我想知道是否存在任何可以为IE7指定特定css属性值的公式。

说我有课:

.filterbox{
    padding:12px 0;
    margin:12px 0
}

现在除了IE7之外,每个浏览器都可以使用此边距(我没有在IE中测试它< 7)。在IE7中如果我使用margin:0;那么样式将是完美的,但它会在其他浏览器中中断。

如何在IE7和非IE7中为同一个css类指定此边距?

问候。

2 个答案:

答案 0 :(得分:1)

如果您真的无法使用conditional comments,请仅使用此hack!它们是解决IE问题的最佳解决方案。像这样的黑客会很快弄乱你的CSS并使它无效。

所以,这是一个针对IE7的黑客攻击(当然这是在你的正常定义之后):

html>body #filterbox {
*margin: 0;
}

来自CSS hacks – Targetting IE7 on Thought-After

答案 1 :(得分:0)

如果你为IE7和其他浏览器分开样式表,你可以解决它:

/* other browsers */
.filterbox{
padding:12px 0;
margin:12px 0
}
/* IE 7 */
*:first-child+html .filterbox
{
 padding:12px 0;
 margin:0;
}

注意!您必须最后为Ie 7定义样式,因为浏览器将覆盖第一个定义。其他人会忽略最后的那些。