外部 CSS 在 IE11 中不工作

External CSS not working in IE11

我已经编写了自己的嵌入服务器,它可以生成对网络浏览器的响应。 生成的"main page"就像下面的html.

<!DOCTYPE html>
<html><head><link rel="stylesheet" href="styles.css"><title>ABC Inc. Web Configurator</title></head><body>
<nav><p>[<b>Home</b>]</p></nav>
<table>
<tr><td><a href=Config>Config</a></td></tr>
<tr><td><a href=Logger>Logger</a></td></tr>
</table>
<footer>Web Configurator &copy; ABC Inc. 2014 - 2015</footer></body></html>

而生成的CSS文件是

.even{
 background-color: #EFF;
}
.odd{
 background-color: #FFE;
}
.title{
 background-color: #226;
 color: #EEF;
}
a{
 color: #36C;
 text-decoration: none;
}
a:hover{
 text-decoration: underline;
}
body{
 font-family: Tahoma;
 font-size: 100%;
}
footer{
 color: #999;
 font-size: 0.7rem;
}
nav{
 background-color: #DDF;
 font-size: 1.1rem;
}
td{
 min-width: 60px;
}

当我用Chrome43或Firefox 39浏览主页时,它们都可以。 但是,当我使用 IE11 时,CSS 不适用于 html,即使我可以确保 IE11 可以从我的服务器访问 CSS 文件。如果我在 IE 中按 F12,DOM 管理器在此页面中不显示任何样式表。

顺便说一句,我的 URL 是 http://localhost:8888/,需要基本身份验证。 知道我该如何解决吗?

更新

  1. 我以前读过 the Whosebug thread,我确定我的问题与浏览器缓存无关。感谢 Mauro 的通知。

  2. 我试过 Chrome + IE tab2,CSS 有效,但不适用于导航和页脚标签。我猜 IE 选项卡不支持 HTML5.

更新

  1. 我试过封闭和非封闭的link标签,它们都不能解决我的IE11问题。

  2. 我已经尝试禁用基本身份验证,但仍然无法正常工作。

更新

  1. CSS 也适用于 Firefox 39。

  2. CSS 适用于 IE11 + 兼容模式(但 HTML5 标签将被忽略)。

检查 HTML1202 描述的问题 here 是否可以解决您的问题。

如果是,请检查:How to avoid ie8 compatibility button?

尝试将此属性添加到 link 标签: 类型="text/css" 示例:

<link rel="stylesheet" type="text/css" href="styles.css" media="screen">

在我比较了很多网站之后,我发现这个问题可以通过删除 html5 声明 <!DOCTYPE html> 来轻松解决。但是,我不明白为什么IE11会这样,它应该支持html5。

PS。我已经阅读了 this SO article 并添加了 type="text/css",但 IE11 似乎从不关心这一点。

我知道这是一个老问题,但我 运行 试图用我的网络服务器解决同样的问题。

IE/Edge 不尊重我的(定制的)网络服务器生成的 css。问题是当我的网络服务器返回 css 时,它没有将 mime 类型标记为 css 并且 IE/Edge 报告(隐藏在其控制台输出中):

SEC7113: CSS was ignored due to mime type mismatch.

修复只是将 HTML 响应 mime 类型标记为 "text/css",一切正常。 请注意,我尝试过的所有其他浏览器(Firefox、Chrome、Safari、Android)都没有遇到不正确的 mime 类型的问题,他们只是继续使用它。