4

我有一个使用一些 css 文件的 ASP.NET MVC 4.5。css 指的是一些图像。

css 文件位于此路径中:

WebSiteRoot\Content\css\services\File.CSS

该图像位于此路径中:

\WebSiteRoot\Content\img\servicesbubble\image.png

CSS有这个调用:

background:transparent url('../../img/servicesbubble/image.png') no-repeat 0px 0px;

当我在 localhost 中运行该应用程序时,它可以工作。但是当我上传到主机(Appharbor)时它不起作用。为什么?引用应用程序根目录的最佳方法是什么?

在服务器中,http get 被尝试到这个错误的 URL

WebSite.com/img/servicesbubble/desktop.png

更新:我正在使用称为捆绑的 .NET 框架 4.5 功能将这些 CSS 与另一个 CSS 合并。

4

3 回答 3

2

您的 CSS 文件路径似乎发生了变化。我看到的与您的网站相关的两个 CSS 文件是http://tulpepwebsite.apphb.com/Content/css/servicescss?v=sdm08D5sRu2I00dA0phyVTYZ_QU8Nfp27wHtmmE0Gzk1http://tulpepwebsite.apphb.com/Content/GeneralCSS?v=9kvtUcooQua0D4nQT8wZ-4_Gm6Oc -J5SkjMxwKiyQ1。(另一个来自谷歌字体服务。)你需要弄清楚为什么会这样。

编辑:好的,我要猜一猜。您可能正在使用新的 ASP.NET 4.5 捆绑功能。但是,如果您这样做,将 CSS 苍蝇捆绑在不同的目录中是没有意义的。

于 2012-08-24T17:32:39.700 回答
2

您的问题实际上来自您将 css 缩小到与最初存在的 CSS 不同的目录这一​​事实。

更具体地说:http : //tulpepwebsite.apphb.com/Content/css/servicescss ?v=sdm08D5sRu2I00dA0phyVTYZ_QU8Nfp27wHtmmE0Gzk1

所以 ../../ 把你放在http://tulpepwebsite.apphb.com/Content

CSS 文件中的 URL 总是相对于 CSS 文件本身的位置。

于 2012-08-24T17:36:35.813 回答
0

您的 CSS 位置与您想象的不同:

WebSiteRoot\Content\css\File.CSS

代替

WebSiteRoot\Content\css\services\File.CSS
于 2012-08-24T17:33:44.690 回答