Visual Studio中样式表的相对路径无法在预览中工作

时间:2008-12-12 10:43:48

标签: html css visual-studio visual-studio-2008

我认为这是一个简单的问题,但如果我能找到答案,我会很高兴。

我在Visual Studio 2008中有一个网站。样式表(和图像)的路径采用以下格式/css/stylesheetname.css

在Visual Studio中Web项目的根目录下,该文件夹与样式表一样存在。在IIS中运行它们时,这些路径可以正常工作。

如果我在Visual Studio中使用内置的Web服务器,则路径会失败,因为它会将项目名放在路径中,即http://localhost:2020/projectname/default.aspx

在这种情况下,/将路径右转回http://localhost:2020

如果单击“设计”,导入背景图像的样式都会失败,尽管样式表正确导入(因为样式表工作的所有其他方面,即.class{font-family:arial;}可以工作但{{1>},这一点更加复杂。 1}}没有)。

我想这与Visual Studio如何计算网站的根路径有关,但我找不到改变它的设置。

任何想法? 更新:根据Egil Hansen的回答,我将CSS文件中的路径转换为相对路径。但是,背景图像仍然无法在设计模式下显示。我会在适当的时候看看使用Themes来解决这个问题。

6 个答案:

答案 0 :(得分:5)

我认为正确的解决方案是在样式表中使用相对网址,而不是现在使用的绝对网址。

请注意,样式表中的相对网址是相对于样式表的位置,而不是浏览器正在查看的当前页面。

如果您使用ASP.NET主题,则可以将所有网站图形放在/App_Themes/YourTheme/Images/文件夹中,并将样式表放在/App_Themes/YourTheme/文件夹中。

在您的样式表中,您可以使用url(Images/img.gif)简单地引用图像,它既可以在线也可以在开发中使用。

您只需要将ASP.NET主题分配给您想要的页面,或者通过web.config的Pages部分(<pages styleSheetTheme="Default">)将主题分配给网站上的所有页面或通过每页上的&lt;%@ Page ...指令。

一般情况下,您可以使用ASP.NET主题和皮肤做一些非常简洁的事情,只需在msdn.microsoft.com上查看ASP.NET Themes and Skins Overview

有一些问题要注意ASP.NET中的主题,看看我的帖子How to take control of style sheets in ASP.NET Themes with the StylePlaceHolder and Style control,它解释并解决了我目前遇到的问题。

答案 1 :(得分:1)

我一直在为ASP.Net应用程序的所有图形使用自定义Image文件夹运行项目。虽然在渐进式VS IDE中可用的App_Theme和App_Code文件夹在这方面取得了进步;我仍然保留了我的文件夹,并且在将其部署到服务器上时没有失望。

所以说 - 谚语文件夹将与所有bin,App_Code和_Themes一起坐,并且通过这种方式对它进行引用

背景:网址(../ image /..);

当然上面的代码坐在CSS文件中。它一直适用于我

答案 2 :(得分:1)

不确定这是否适用于VS 2008,但我使用的是Visual Web developer 2010并且它对我有用:

1)点击解决方案资源管理器中的项目

2)它显示了一个&#34;虚拟路径&#34;属于默认为&#34; / projectname&#34;

的财产

3)将其更改为&#34; /&#34;相反,它似乎做了所需的

让我知道这是否适合您!

答案 3 :(得分:0)

自从我在css中做了什么以来已经很久了,但也许是url(./ images / image.jpg) 会工作吗?

编辑: 或者更确切地说〜/ format /css/stylesheetname.css或./format /css/stylesheetname.css作为样式表的URL。

答案 4 :(得分:0)

我有同样的问题,它让我发疯。解决方案是添加Apps_Theme文件夹并将图像复制到那里。发布站点时,将保留文件夹结构并显示imnges。

答案 5 :(得分:0)

我已经设置了路径css url image 代码{background:url(/images/xxx.jpg)no-repeat; } 并在IIS上运行文件,因此必须将默认网站指向您的项目

如何运行测试预览 类型: http://localhost/default.aspx

这是在服务器上运行的正确路径 包含文件js或css可以使用“/”根路径

欢呼声 Noboyband