【问题标题】:doctype causing css not to load [closed]doctype导致css不加载[关闭]
【发布时间】:2015-10-14 13:24:38
【问题描述】:

创建一个包含 html5 文档类型的 html5 网页,它不会加载 css。但是当我删除文档类型时,它会加载 css。该页面包含标准的 html5 文档类型。

<!DOCTYPE html>

我的样式表链接正确

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

而且我的样式表不包含任何错误

我在括号中创建网页,使用实时预览时 css 会加载文档类型,但通过网络服务器手动加载页面时不会加载。

【问题讨论】:

  • 我会说检查您的网络服务器的规格。如果您通过此网络服务器加载您的网站,您会在浏览器的控制台日志窗口中看到什么?
  • 显示文件夹结构的屏幕截图
  • &lt;!DOCTYPE html&gt; 不应该造成这种情况。问题一定出在其他地方。控制台显示什么?浏览器是否甚至尝试加载 CSS?例如,在 Chrome 中,您可以在开发者工具的网络选项卡中看到这一点。
  • 该控制台显示“资源解释为样式表,但使用 MIME 类型 text/html 传输:“localhost/javascript/css/styles.css"。”
  • 我现在只有一个html页面和包含css的文件夹

标签: html css doctype


【解决方案1】:

使用 Doctype 不会阻止浏览器加载 CSS。

不过,它会将浏览器切换为使用Standards Mode,在这种情况下,它将停止模拟旧浏览器中的错误并尝试更严格地遵循规范。

这会经常导致 CSS 中包含错误的部分(例如缺少单位的长度)被忽略(按照规范的要求)。

您可能需要修复 CSS。 validator 将帮助您识别它的故障。

另一种可能性是服务器声称 CSS 是别的东西。检查您的开发人员工具中的 Net 选项卡,并确保发送的 CSS 带有 Content-Type: text/css 标头。如果服务器声称它是纯文本或 HTML,它可能会被忽略。


更新:

该控制台显示资源解释为样式表,但使用 MIME 类型 text/html 传输:

您需要修复服务器,以便它为样式表提供正确的内容类型。它应该是text/css 而不是text/html

【讨论】:

  • 请问我该如何解决这个问题。我正在运行最新版本的 Apache。我尝试为 css 添加 mime 类型,但没有奏效
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-12-25
  • 1970-01-01
  • 1970-01-01
  • 2017-11-24
  • 2017-02-07
  • 2020-03-03
  • 2021-01-17
相关资源
最近更新 更多