【问题标题】:Root directory in CSS in a ASP.NET MVCASP.NET MVC 中 CSS 中的根目录
【发布时间】:2012-08-20 06:50:36
【问题描述】:

我有一个使用 ASP.NET MVC 4.5,它使用了一些 css 文件。 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 合并。

【问题讨论】:

标签: html css asp.net-mvc asp.net-mvc-4 appharbor


【解决方案1】:

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

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

【讨论】:

  • 我正在使用 ASP.NET 4.5 的捆绑功能,并且我没有将 css 捆绑在不同的目录中。我对压缩和简单的代码有感觉。
【解决方案2】:

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

WebSiteRoot\Content\css\File.CSS

而不是

WebSiteRoot\Content\css\services\File.CSS

【讨论】:

    【解决方案3】:

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

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

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

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

    【讨论】:

    • 我不这么认为。 MVC 4.5 中的缩小和捆绑允许这样做。
    • 捆绑会重写缩小 CSS 中的路径吗? (澄清)
    猜你喜欢
    • 2015-02-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-16
    • 2011-10-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多