html - 无法使用 html 加载图像。仅适用于 css

标签 html css webpack vue.js

我有我的 css,其中包含一个类

.Img{
  background: url('../assets/Trump.png');
}

HTML 看起来像这样:

<div class="Img">

但是当我想要这样的时候

<div class="Img" style="background: url('../assets/Trump.png');">

图像无法为我加载,我得到一个错误

>GET http://localhost:8080/assets/Trump.png 404 (Not Found)

我正在使用 vue.js 2.0 和 webpack

最佳答案

这里的主要问题是相对路径。

如果你有这样的结构,例如:

/page.html
/static/
       /assets/
              /Trump.png
       /css/
           /file.css

在你的 page.html 里面你有一个<link>标记到您的 css(在 static/assets/css/file.css 中),调用 ../assets/Trump.png css 文件将到达正确的位置(因为从 /css 目录 - 向上 1 个目录是 static 目录,从那里我们进入 assets 并且一切正常).

但是 - 如果我们在/里面目录(page.html 存在的地方),这也是我们的 root目录,当我们尝试去 ../assets/Trump.png我们得到的相对路径是/assets/Trump.png (它存在于我们的服务器中。正确的路径应该是 /static/assets/Trump.png )。

您应该检查您的目录结构并放置正确的相对路径。

关于html - 无法使用 html 加载图像。仅适用于 css,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41233949/

相关文章:

ios - 使用 css 从 iPad safari 打印时如何删除或减少边距?

css - 水平居中的流体 div 包含设置为向左浮动的元素

javascript - 使用 Jest、React 和 Webpack 处理全局导入

javascript - 激活滚动功能

html - 如何使这两个元素彼此相邻

html - 如何在阅读模式下更改表单颜色

node.js - Webpack 内存不足

javascript - Heroku 找不到我的 index.js 文件

Web Worker 中的 HTML5 navigator.geolocation

html - 确保同一包装器中的两个 div 高度相等