1

在我的网站中,我需要支持 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 类中指定此边距?

问候。

4

2 回答 2

1

仅当您真的不能使用条件注释时才使用此技巧!它们是解决 IE 问题的最佳解决方案。像这样的黑客会很快弄乱你的 CSS 并使其无效。

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

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

来自CSS hacks – 在 Thought-After 上定位 IE7

于 2012-05-08T09:01:28.783 回答
0

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

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

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

于 2012-05-08T09:01:14.010 回答