首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CSS背景图像路径在生产环境中翻译不同?

CSS背景图像路径在生产环境中翻译不同?
EN

Stack Overflow用户
提问于 2016-10-28 08:10:25
回答 2查看 310关注 0票数 1

这是我们的网站结构

代码语言:javascript
复制
main application
   sub application (index file using css is located here)
      content
         assets
            css (CSS file located here)
            images (image located here)

在css文件中,我们使用的是带有相对url的bacground映像,如下所示:

代码语言:javascript
复制
background: #ffffff url("../images/bodybg.png") repeat;

因此,它告诉css在图像文件夹中查找一个级别的图像。

这可以在我们的本地机器上使用IIS。翻译为:

代码语言:javascript
复制
http://localhost/subapplication/content/assets/images/bodybg.png

但是,在我们的生产环境中,也在IIS上,这被转换为:

代码语言:javascript
复制
https://www.oursite.com/images/bodybg.png

我尝试更改为根相对路径:

代码语言:javascript
复制
background: #ffffff url("/subapplication/content/assets/images/bodybg.png") repeat;

这解决了这个问题,但是有人知道为什么相对css路径在两个环境中有两个结果吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-10-28 12:03:54

看来,我们在ASP.NET MVC 5中使用捆绑的方式导致了这种情况。

在生产索引文件中,它是这样写的:

代码语言:javascript
复制
@Styles.Render("~/Content/main")

在邦德莱诺图中:

代码语言:javascript
复制
 bundles
     .Add(new StyleBundle("~/Content/main")
                    .Include("~/Content/assets/css/main.css",

这意味着在代码索引文件中使用根相对路径:

代码语言:javascript
复制
/subapplication/Content/main?v=12341234lmkelmk

我需要将包呈现到实际css所在的位置,以使相对路径工作,如下所示:

代码语言:javascript
复制
@Styles.Render("~/Content/main/assets/css/main")

 bundles
         .Add(new StyleBundle("~/Content/main/assets/css/main")
                        .Include("~/Content/assets/css/main.css",
票数 0
EN

Stack Overflow用户

发布于 2016-10-28 08:16:00

因为它与环境有关。您可能也有子域/虚拟目录,它们破坏了相关性。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40300755

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档