我已经编写了自己的嵌入式服务器,可以生成对Web浏览器的响应。 生成的"主页"就像下面的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>
&#13;
生成的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;
}
&#13;
当我通过Chrome 43或Firefox 39浏览主页时,他们都没问题。 但是,当我使用IE11时,CSS不适用于html,即使我可以确保IE11可以从我的服务器访问CSS文件。如果我在IE中按F12,则DOM管理器在此页面中不显示样式表。
BTW,我的网址是http://localhost:8888/,需要进行基本身份验证。 我知道如何解决它?
更新
之前我读过the stackoverflow thread,我确定我的问题不在于浏览器缓存。感谢Mauro的通知。
我已尝试使用Chrome + IE tab2,CSS可以使用,但不适用于导航和页脚标记。我猜IE标签不支持HTML5。
更新
我尝试过关闭和非关闭的链接标记,但这两种方法都无法解决IE11的问题。
我尝试禁用基本身份验证,但仍无效。
更新
CSS也适用于Firefox 39。
CSS适用于IE11 +兼容模式(但HTML5标签将被忽略)。
答案 0 :(得分:1)
尝试将此属性添加到链接标记: 类型= “文本/ CSS” 例如:
<link rel="stylesheet" type="text/css" href="styles.css" media="screen">
答案 1 :(得分:1)
在我比较了很多网站之后,我发现只需删除html5声明<!DOCTYPE html>
就可以轻松解决这个问题。但是,我不明白为什么IE11会这样,它应该支持html5。
PS。我已阅读this SO article并添加type="text/css"
,但似乎IE11从不关心这一点。
答案 2 :(得分:0)
检查描述为here的 HTML1202 问题是否可以解决您的问题。
答案 3 :(得分:0)
我知道这是一个老问题,但是我遇到了这个问题,试图用我的Web服务器解决相同的问题。
IE / Edge不尊重我的(定制)Web服务器生成的CSS。问题是,当我的Web服务器返回CSS时,它没有将MIME类型标记为CSS,并且IE / Edge报告了该消息(隐藏在其控制台输出中):
SEC7113: CSS was ignored due to mime type mismatch.
修复该问题只是将HTML响应mime-type标记为“ text / css”,一切正常。 请注意,我尝试使用的所有其他浏览器(Firefox,Chrome,Safari,Android)对于错误的mime类型都没有问题,它们只是继续使用。