尽管有哑剧类型,样式表仍未在IE 9中加载

时间:2014-04-29 09:59:20

标签: css asp.net-mvc internet-explorer-9 stylesheet

我有一个使用捆绑和缩小的MVC 4应用程序。该应用程序在IE 11,Chrome和其他浏览器上100%正确,但使用IE9时样式表不会呈现。

我在web.config的system.webserver部分

中添加了以下内容
<staticContent>
  <remove fileExtension=".css"/>
  <mimeMap fileExtension=".css" mimeType="text/css"/>
</staticContent>

并且在使用IE的开发人员工具时似乎mime类型是正确的

enter image description here

如果mime类型正确并且所有样式表似乎都加载了,为什么它不会渲染?

旁注:我也在使用Twitter Bootstrap 3和FontAwesome,不确定这是否会导致问题。

更新

当我使用fiddler时,我可以看到mime类型仍然设置为text / css;字符集= UTF-8

enter image description here

1 个答案:

答案 0 :(得分:12)

好的,最终发现了问题。这不是mime类型的问题,我希望这可以节省几个小时。 IE9将css文件的大小限制为大约250kb,因为我使用捆绑和缩小我的一个css包超过了这个限制并且文件被截断,导致一些样式没有被应用。

修复相当容易,我将我的CSS包分成两个包,例如

 bundles.Add(new StyleBundle("~/Bundles/Shared/CSS").Include(
            "~/Content/bootstrap/bootstrap.min.css",
            "~/Content/font-awesome.min.css",
            "~/Content/silviomoreto-bootstrap-select/bootstrap-select.min.css",
            "~/Content/kendo/kendo.common.min.css"));

  bundles.Add(new StyleBundle("~/Bundles/SharedTwo/CSS").Include(
            "~/Content/datepicker/css/datepicker.css",
            "~/Content/kendo/kendo.bootstrap.min.css",
            "~/Content/bootstrap-touchspin-master/libraries/prettify/prettify.css",
            "~/Content/bootstrap-touchspin-master/libraries/prettify/demo.css",
            "~/Content/css/Shared/Index.css"));