CSS中定义的图像不会显示在已部署的MVC3站点中

时间:2011-12-08 15:12:34

标签: css asp.net-mvc-3

我创建了一个基本的MVC3网站,并将图像路径添加到site.css文件中(原始模板的一部分)。

当我通过开发工作室运行应用程序时,该网站看起来没问题并显示图像。

当我构建安装程序并将站点部署到我的服务器上时,不会显示图像。

以下是我的css文件示例:

#CustomerLogo
{
    position: relative;
    margin-left:auto;
    margin-right: auto;
    width: 300px;
    height: 96px;
    background-image: url(/Content/themes/base/images/CustomerLogo.jpg);
    background-repeat: no-repeat;
    background-position: center;
    background-color: rgb(41,139,178);
}

5 个答案:

答案 0 :(得分:2)

除了确保图像实际加载到服务器上之外,您可能还想检查服务器上的应用程序是否实际在根目录/上运行。例如,如果您的网站位于facebook.com/myGreatApp,方法是在网址前加上/,则告诉浏览器在facebook.com/Content / ...上查找图片,而不是在facebook.com/myGreatApp/Content /...

正如其他一些海报所提到的,对此的解决方法是确定从css到这些图像的实际路径是什么并使用它。相对路径将完美地服务于此,并且使用哪个相对选项取决于css与图像的关系位置。

答案 1 :(得分:2)

似乎将您的网站部署到虚拟目录的问题。无论如何,您应该包含相对于 css文件的图像,而不是应用程序。尝试

background-image: url(themes/base/images/CustomerLogo.jpg);

答案 2 :(得分:1)

你尝试过相对路径吗?假设您的css文件位于~/Content/themes/base,这应该有效:

background-image: url(images/CustomerLogo.jpg);

答案 3 :(得分:0)

您可能需要..来帮助查找“内容”文件夹,

示例:

background-image: url(../Content/themes/base/images/CustomerLogo.jpg);

答案 4 :(得分:0)

您确定网址有效吗?如果您尝试直接通过地址栏访问该网址,您会看到图片吗?