我们正在使用两个css部分:
<head>
以上的区域<body>
现在内联文件中的所有内容也都在完整的css中,除了以下情况外,这不是问题。
图标字体大小(图标:之前)是用em设置的,例如一个图标有font-size: 0.68em;
现在应用了两次,因为它在两个css文件中。
现在IE逐字地应用它两次,因此它设置12px * 0.68
* 0.68
= 5.55px而不是12px * 0.68
= 8.16px。
这是问题的截图:
正如您所看到的,icon-person:before: 0.68em
有两次 - 一次来自style.css,一次来自页面本身意味着内联css。
规则很明显,因为它是一个:before
元素而IE无法真正处理,11.93px是元素本身而不是:before
。
现在,如果我取消其中一条规则来禁用它们(或者只删除内联css或完整的css),它就可以了,因为0.68
因子只应用一次,在此打印屏幕上可见:
这里是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