【问题标题】:Formula for CSS Fix for IE7IE7 的 CSS 修复公式
【发布时间】:2014-01-15 10:02:07
【问题描述】:

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

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

假设我有一堂课:

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

现在这个边距对于除 IE7 之外的所有浏览器都是可以的(我没有在 IEmargin:0;,那么样式将是完美的,但它会在其他浏览器中中断。

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

问候。

【问题讨论】:

  • 你能编辑 HTML 文件吗?特别是<html> 元素?
  • @CodyGray 没有这样的 HTML 文件。我所拥有的是 .jsff、.jspx 文件,条件语句在这里不起作用。我只能控制 css 文件。
  • @TapasBose 告诉开发人员/谁为您插入条件 cmets。为了一个更美好的世界。
  • @bažmegakapa 我是前端和后端的开发人员。
  • @TapasBose 然后插入那些条件 cmets :)。从长远来看,黑客会杀死你。

标签: css internet-explorer-7


【解决方案1】:

只有在你真的不能使用conditional comments时才使用这个hack!它们是解决IE问题的最佳解决方案。像这样的黑客攻击会很快弄乱你的 CSS 并使其无效。

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

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

来自CSS hacks – Targetting IE7 on Thought-After

【讨论】:

    【解决方案2】:

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

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

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

    【讨论】:

      猜你喜欢
      • 2012-06-14
      • 2011-06-06
      • 1970-01-01
      • 2016-03-10
      • 1970-01-01
      • 2022-11-16
      • 1970-01-01
      • 1970-01-01
      • 2011-07-05
      相关资源
      最近更新 更多