2015-10-14 125 views
1

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

<!DOCTYPE html> 

我的样式表链接正确

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

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

我创造括号中的网页,并使用现场时,CSS做负载的DOCTYPE预览,但不通过网络服务器手动加载页面时。

+0

我会说检查您的网络服务器的规格。如果您通过此Web服务器加载您的网站,您在浏览器的控制台日志窗口中看到了什么? – Rotan075

+0

显示你的文件夹结构的屏幕截图 –

+0

'<!DOCTYPE html>'不应该造成这种情况。问题一定在其他地方。控制台显示什么?浏览器是否尝试加载CSS?例如,在Chrome中,您可以在开发人员工具的“网络”选项卡中看到这一点。 – ROAL

回答

4

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

但是,它会将浏览器切换为使用Standards Mode,其中它将停止在旧版浏览器中模拟错误并尝试更严格地遵循规范。

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

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

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


更新:

该控制台说,资源解释为样式表,但使用MIME类型text/html转移:

你需要修复的服务器,因此它提供了正确的内容类型样式表。它应该是text/css而不是text/html

+0

你是如何解决这个问题的。我正在运行最新版本的Apache。我曾尝试添加用于CSS的MIME类型,但没有奏效 –