外部 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 © 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/,需要基本身份验证。
知道我该如何解决吗?
更新
我以前读过 the Whosebug thread,我确定我的问题与浏览器缓存无关。感谢 Mauro 的通知。
我试过 Chrome + IE tab2,CSS 有效,但不适用于导航和页脚标签。我猜 IE 选项卡不支持 HTML5.
更新
我试过封闭和非封闭的link标签,它们都不能解决我的IE11问题。
我已经尝试禁用基本身份验证,但仍然无法正常工作。
更新
CSS 也适用于 Firefox 39。
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 类型的问题,他们只是继续使用它。
我已经编写了自己的嵌入服务器,它可以生成对网络浏览器的响应。 生成的"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 © 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/,需要基本身份验证。 知道我该如何解决吗?
更新
我以前读过 the Whosebug thread,我确定我的问题与浏览器缓存无关。感谢 Mauro 的通知。
我试过 Chrome + IE tab2,CSS 有效,但不适用于导航和页脚标签。我猜 IE 选项卡不支持 HTML5.
更新
我试过封闭和非封闭的link标签,它们都不能解决我的IE11问题。
我已经尝试禁用基本身份验证,但仍然无法正常工作。
更新
CSS 也适用于 Firefox 39。
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 类型的问题,他们只是继续使用它。