IE11对重复规则

时间:2016-10-19 14:56:32

标签: css internet-explorer font-size em

我们正在使用两个css部分:

  • 内嵌css位于<head>以上的区域
  • <body>
  • 末尾的完整css

现在内联文件中的所有内容也都在完整的css中,除了以下情况外,这不是问题。 图标字体大小(图标:之前)是用em设置的,例如一个图标有font-size: 0.68em;现在应用了两次,因为它在两个css文件中。

现在IE逐字地应用它两次,因此它设置12px * 0.68 * 0.68 = 5.55px而不是12px * 0.68 = 8.16px。

这是问题的截图: enter image description here 正如您所看到的,icon-person:before: 0.68em有两次 - 一次来自style.css,一次来自页面本身意味着内联css。 规则很明显,因为它是一个:before元素而IE无法真正处理,11.93px是元素本身而不是:before

现在,如果我取消其中一条规则来禁用它们(或者只删除内联css或完整的css),它就可以了,因为0.68因子只应用一次,在此打印屏幕上可见: enter image description here

这里是html的草图,可以帮助您理解问题:

<div>
    <span class="icon">
        <i class="icon-person"></i>
    </span>
</div>

您在printceen上看到的规则是.icon-person的规则,错误的行是icon-person:before

此问题仅出现在IE中 - Firefox,Chrome和Safari按预期工作。

如果不删除任何css文件中的css行,我怎么能解决这个问题?

更新:我设法创建了一个codepen来说明问题: http://codepen.io/anon/pen/pEQEzq

0 个答案:

没有答案