html - 确实发出了样式表的网络请求,但未应用于 HTML

标签 html css

Initial situation

这是初始情况(来自 Firefox 开发者工具的屏幕截图)。有一个<link rel="stylesheet">在标题中。注意没有任何样式应用于 <body>元素(下视口(viewport))。正如您在第二张图片中看到的,对该样式表的 Web 请求实际上已经发出:

Web request to stylesheet

如果我去 Style Editor在 Firefox 的开发人员工具中添加一个额外的字符(在本例中为 importbody 之间的换行符),这会导致 Firefox 更新样式表,当发生这种情况时,样式会应用到我的网页。

Style editor tab in Firefox Updated element inspector with applied styles

如何确保在页面加载时应用我的样式?

编辑:我应该提一下,我在使用 create-react-server 测试我的应用程序时没有遇到这些问题。的开发服务器或使用 python3 -m http.server 时作为网络服务器。只有当我使用 nginx 作为服务器时才会发生这种情况,尽管我无法想象服务器会产生什么不同,因为所有 Web 服务器都返回完全相同的静态内容。

最佳答案

问题是我的网络服务器发送了 text/plain 而不是 text/css 的 MIME 类型。我通过将 include mime.types; 添加到 nginx.conf 中的 html 元素并创建一个 mime.types 在 nginx 中解决了这个问题 包含以下内容的文件:

types {
  text/html                             html htm shtml;
  text/css                              css;
  text/javascript                       js;
}

这似乎是使用 docker 的 nginx:latest 图像的人的常见问题。

关于html - 确实发出了样式表的网络请求,但未应用于 HTML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58845264/

相关文章:

javascript - 是否可以仅对图像指定用户可缩放的 ="yes"?

javascript - CSS3 关键帧动画在 chrome 中工作,而不是 firefox

jquery - 将文本从水平位置旋转到垂直位置

HTML 电子邮件 : How to make image overlapping border?

javascript - 文本之间具有相等间距的行内 block 列表。

css - LessCss - 可以 & :extend function be nested?

css - 为什么 p 背景没有正确定位?

javascript - 在 jwplayer 5 中单击“播放”时打开新窗口

javascript - 防止缓存 ajax 响应

javascript - 简单的背景更改不起作用