IE9中出现意外奇怪的CSS行为

时间:2015-06-30 06:23:03

标签: html css internet-explorer internet-explorer-9

我使用SASS / SCSS,Compass,Bootstrap和Font-awesome为网站开发了CSS。我现在正在Chrome,Firefox,IE11和IE9中测试它。 我确保使用Compass导入所有特定于供应商的属性,以确保获得所有必需的供应商前缀。我还检查了所有部分支持的属性,以确保至少IE9支持http://caniuse.com/

使用IE11测试我的网站并将文档模式和用户代理字符串设置为IE9时,一切正常。但是,当通过VirtualBox测试IE9本机时(使用来自http://dev.modern.ie/tools/vms/的Win7图像),我在CSS中遇到了许多意想不到的怪异行为。

margin-left:15pxfloat:right的所有内容似乎都存在问题。这里没有真正的模式,似乎只是随机css属性被错误地渲染。

为什么IE9不支持看似普通且支持良好的属性,例如margin-left和float?为什么他们使用IE9模式在IE11中工作,而不是在IE9本地工作?

1 个答案:

答案 0 :(得分:0)

我找到了这种随机行为的答案。 事实证明,IE9仅支持4095个CSS选择器,并且会默默地忽略其后的任何内容。 (source) 我对http://www.cssanalyser.com/进行了检查,结果显示我有4231个选择器。 这似乎很多,但原因是我在同一个main.css中加入了Bootstrap,Glyphicons和Font-Awesome,当然还有我自己的自定义css。 解决方案是排除Font-Awesome部分并将其放在单独的文件中。 Cssanalyser现在显示3600个选择器,IE9中的一切都运行得很好。