我想知道是否有人喜欢在他们的网站中引用图片/ css或javascript文件?
我问的原因是客户是否想要托管我们在虚拟目录下编写的网站,该网站通常必须更改它的文件引用 - 甚至更改为CSS文件中的url(...图像路径)因为我们通常将网站开发为好像它是一个根应用程序 - 有时客户端直到放置日期前一天才知道它们将在哪里托管它!
使用ASP.NET时,我们可以通过在使用runat服务器组件时使用'〜'引用项目或使用ASP.NET MVC时使用Url.Content方法来解决表单中的问题......
那么,有没有什么好的解决方案可以保持文件引用的通用性,或者我们是否每次都要更改文件引用?
答案 0 :(得分:21)
图片(如background-url)CSS中的总是相对于css文件引用。
示例:
/img/a.gif
/css/c.css
要从css文件中引用a.gif
,您必须始终像../img/a.gif
那样引用它,与页面的位置或重写方式无关
答案 1 :(得分:6)
我喜欢将所有样式图像保存在样式表位置的子目录中,例如:
站点 - >风格 - > Common.css
定点>风格 - >图像 - > Background.png
通过这种方式,您可以缓解CSS中“up”目录的问题,或者需要轻松移动CSS,因为它只包含在一个目录中。
坦率地说,将风格图像和内容图像混合在一起可能会在拥有大量媒体的大型网站中变得有点混乱。
答案 2 :(得分:5)
您仍然可以使用“向上”导航的相对地址:
E.g。在/styles/main.css
中/images/bg.png
:
background-image: url('../images/bg.png');
或/path/to/this/page.html
/index.html
<a href="../../../index.html">Home</a>
它可能不是最吸引人的,但它应该有效。