我有一个使用捆绑和缩小的MVC 4应用程序。该应用程序在IE 11,Chrome和其他浏览器上100%正确,但使用IE9时样式表不会呈现。
我在web.config的system.webserver部分
中添加了以下内容<staticContent>
<remove fileExtension=".css"/>
<mimeMap fileExtension=".css" mimeType="text/css"/>
</staticContent>
并且在使用IE的开发人员工具时似乎mime类型是正确的
如果mime类型正确并且所有样式表似乎都加载了,为什么它不会渲染?
旁注:我也在使用Twitter Bootstrap 3和FontAwesome,不确定这是否会导致问题。
更新
当我使用fiddler时,我可以看到mime类型仍然设置为text / css;字符集= UTF-8
答案 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"));