【问题标题】:mvc images in css not loading in application virtual directorycss中的mvc图像未加载到应用程序虚拟目录中
【发布时间】:2014-02-22 22:11:12
【问题描述】:

当我调试我的网站时,所有图像和 js 都在运行,没有任何问题。

现在我已将我的网站设置为 IIS 中的应用程序。

所以我的网址现在是这样的

http://localhost/mysite

我在我的视图中引用我的 css 文件

<link href="<%: Url.Content("~/Css/Default.css") %>" rel="stylesheet" type="text/css" />

在这个 css 文件中,我正在添加我的 BG 图像

body
{
    background: url("/Images/bg.png");
    font-family: 'Oswald' , sans-serif;
    padding: 0;
    margin: 0;
    vertical-align: middle;
    font-size: 12px;
}

但是图像没有加载它去一个路径为http://localhost/Images/bg.png,的404,而路径应该是http://localhost/mysite/Images/bg.png

有什么想法吗?

【问题讨论】:

  • 删除第一个斜线,来自background: url("/Images/bg.png");
  • 如果您尝试background: url("Images/bg.png"); 会怎样?
  • 那行不通……但这确实是 background: url("../Images/bg.png");
  • 如果你在前面放了一个/,那么它将相对于根,在这种情况下是localhost,所以它会显示为localhost/images/my-image.jpg - 如果你确实想使用/images/blah,然后你可以设置一个虚拟主机,比如somesite.dev,它就可以工作了。否则,正如您所提到的,您可以通过 ../ 进入一个目录,然后进入 images 文件夹。
  • 我想我正在寻找一些东西来作为图像工作的路径,无论 url 是如何设置的

标签: c# css asp.net-mvc iis


【解决方案1】:

在 CSS 中,url 是相对于 CSS 文件的位置的。

所以您可以像这样简单地引用您的图像:

background: url("../Images/bg.png");

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-01-23
    • 2010-12-18
    • 2011-11-22
    • 2019-10-28
    • 2011-02-15
    • 1970-01-01
    • 2011-09-15
    • 1970-01-01
    相关资源
    最近更新 更多