MVC无法在css中使用background-url显示图像 – 使用捆绑

前端之家收集整理的这篇文章主要介绍了MVC无法在css中使用background-url显示图像 – 使用捆绑前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个MVC4项目,它具有以下结构:

/Content/css/sprites/topbar.css

/Content/images/topbar.png

在css文件中,我试图通过使用以下方法引用图像:

background: url('../../images/topbar.png')

但图像不显示.如果我更改它,以便图像位于:

/Content/css/sprites/topbar.png

并将css更改为:

background: url('content/css/sprites/topbar.png')

它有效,但这打破了我的项目结构.

有任何想法吗?

编辑

我没有提到别的东西,因为我认为它不相关,但它似乎影响了这一点!

我使用@System.Web.Optimization.Styles.Render(“〜/ MainStyles”)来捆绑和缩小css,但如果我采取了这一步,那么它就像我期望的那样工作.如何使用我的项目结构并使用捆绑功能

解决方法

不知道是否有其他人遇到这个问题.但是你可以在你的CSS中使用相对路径.关键是使用虚拟路径注册捆绑包到您的实际css所在的同一文件夹.这样MVC将从该路径中的处理程序请求捆绑的css.

尝试将您的捆绑注册更改为:

bundles.Add(new StyleBundle("~/Content/css/sprites/topbar")
              .Include("~/Content/css/sprites/topbar.css")
            );

然后在你的视图@ Script.Render(“/ Content / css / sprites / topbar”)

Mvc会从/ Content / css / sprites / topbar请求你编译的css包吗?{some-crazy-token-thing}

猜你在找的CSS相关文章