灯笼都有什么样式的:为什么样式表不工作 (thttpd 2.25b)

我有一个简单的 HTML 页面如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; cht=UTF-8" />
<title>test title</title>
 <link href="style.css" rel="stylesheet" type="text/css" />
 </head>
 <body>
     <span cl="test">Test</span>
 </body>
 </html>

和 style.css 如下:

.test{
 color:yellow;
}

我怀疑输出是一个的测试,但它是一个黑色的。

如果我使用这个链接:

http://url/style.css

我可以看到 CSS 的内容,所以我相信客户端可以阅读它。

我使用 thttpd 作为嵌入式系统上的 Web 服务器。

screen capture of what IE developer shows: No style is applied

这表明 html 和 css 都是通过 IE 获得的。

style is taken from server

3

您说您正在嵌入式系统上使用 thttpd。鉴于您的代码很好,我希望发生的事情是您的样式被 IE 忽略,因为您的 Web 服务器没有为它们提供正确的内容类型。

从 MSDN 上的MIME types and stylesheets

从 IE9 标准模式开始,样式表将被忽略(不应用),除非它们与“text / css”MIME 类型一起交付。

所以,我建议您查看您的 thttpd 配置,看看是否可以添加将“text / css”MIME 类型应用于.css 文件的说明。

更新:我可以从你的截图中看到样式表正在使用“text / html”,这几乎证实了我的诊断。

thttpd 的文档建议你只能在编译时更改它支持的 MIME 类型,所以要解决这个问题,你需要重新编译。

我可以看到最新版本的 thttpd,2.25 b,在其 mime_types.txt 中正确标记为 text / css 的 CSS 文件,所以你可以得到最新版本并使用它。

或者,添加行

css text/css

到您现有版本的 mime_types.txt,如果您已经从源编译,然后重新编译。thttpd Makefile 使用该文本文件将每个文件扩展名的正确 MIME 类型编译为二进制文件。(请注意,文件格式需要在文件扩展名和 MIME 类型之间有一个制表符。)

(鉴于嵌入式系统通常不擅长处理多个连接,您也可以将样式嵌入 HTML 文档标题中的<style>元素中,这将(a)与您当前的设置一起使用,并且(b)保存第二个请求以获取单独的 CSS 文件。)

2

您的 HTML 页面或 css 没有任何问题,所以我假设您的浏览器无法获取 css(可能是 URL 错误?)或者它使用的是 css 的缓存版本。(如果使用 IE,请尝试 CTRL + f5)

如果这没有帮助,那么根据您使用的浏览器,我建议您打开开发人员工具并跟踪返回的网络调用和状态代码。E.G for Internet Explorer,点击 F12,切换到网络选项卡并启用“开始捕获”。要更详细地了解幕后情况,Fiddler是一个很好的工具。

本站系公益性非盈利分享网址,本文来自用户投稿,不代表边看边学立场,如若转载,请注明出处

(572)
射雕zero:RaspberryPiZero模拟鼠标
上一篇
服务器机房维护工作内容:SSIS服务器维护作业最终使用了所有服务器内存
下一篇

相关推荐

发表评论

登录 后才能评论

评论列表(44条)