【问题标题】:External CSS not working in IE11外部 CSS 在 IE11 中不起作用
【发布时间】:2015-10-17 07:56:46
【问题描述】:

我已经编写了自己的嵌入服务器,它可以生成对网络浏览器的响应。 生成的“主页”如下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;
}

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

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

更新

  1. 我以前读过the stackoverflow thread,我确定我的问题不在于浏览器缓存。感谢 Mauro 的通知。

  2. 我已经尝试过 Chrome + IE tab2,CSS 工作正常,但不适用于导航和页脚标签。我猜 IE 选项卡不支持 HTML5。

更新

  1. 我尝试了封闭和非封闭的链接标签,它们都不能解决我的IE11问题。

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

更新

  1. CSS 也适用于 Firefox 39。

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

【问题讨论】:

  • 可能是缓存而不是问题?打开开发者工具并按 CTRL-F5,这样会加载样式表吗?
  • 您可以直接从 IE11 访问 CSS 文件(而不是通过页面本身)而不进行身份验证吗?
  • 看起来像是加载css文件的问题
  • @Mauro:不,不是缓存问题。我已经阅读了关于此的另一个主题,但我忘了在我的文章中说。感谢您的通知。
  • @LDJ:嗯,不。直接访问 CSS 也需要认证。

标签: html css internet-explorer-11


【解决方案1】:

尝试将此属性添加到链接标签: 类型="文本/css" 示例:

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

【讨论】:

  • 此外,您的标题 CSS 用于名为 title 的类,不会应用于您在 HTML 中使用的标题标签
  • 感谢回复,但是还是不行:'(顺便说一句,.title 不是为标题标签设计的。(并且颜色属性不能应用于标题,不是吗?跨度>
【解决方案2】:

对比了很多网站后,我发现这个问题只要去掉html5声明&lt;!DOCTYPE html&gt;就可以轻松解决。但是,我不明白为什么IE11会这样,它应该支持html5。

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

【讨论】:

    【解决方案3】:

    我知道这是一个老问题,但我在尝试用我的网络服务器解决同样的问题时遇到了它。

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

    SEC7113: CSS was ignored due to mime type mismatch.
    

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

    【讨论】:

      【解决方案4】:

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

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

      【讨论】:

      • 嗯...我想我的问题与 HTML1202 不同。但是,如果我在 IE11 中打开兼容模式,CSS 将正常应用。
      猜你喜欢
      • 2017-10-23
      • 2018-08-17
      • 2015-02-16
      • 1970-01-01
      • 1970-01-01
      • 2015-04-15
      • 1970-01-01
      • 2014-06-23
      • 1970-01-01
      相关资源
      最近更新 更多