【问题标题】:JavaScript/ CSS/ Image reference pathsJavaScript/ CSS/ 图像参考路径
【发布时间】:2010-09-27 07:42:43
【问题描述】:

我想知道是否有人喜欢在他们的网站中引用图片/css 或 javascript 文件?

我问的原因是如果客户想要托管我们在虚拟目录下编写的网站,该网站通常必须更改它的文件引用 - 甚至到 CSS 文件中的 url(...图像路径)因为我们通常将网站开发为一个根应用程序 - 有时客户不知道他们将在哪里托管它,直到发布日期的前一天!

使用 ASP.NET,我们可以通过在使用 runat 服务器组件时使用“~”或使用 ASP.NET MVC 时使用 Url.Content 方法引用项目来解决表单中的问题...

那么,是否有任何好的解决方案可以保持文件引用的通用性,或者我们是否面临每次都必须更改文件引用的问题?

【问题讨论】:

    标签: javascript css


    【解决方案1】:

    图像(如 background-url)在 CSS 中总是相对于 css 文件引用。

    例子:

    /img/a.gif
    /css/c.css
    

    要从 css 文件中引用 a.gif,您必须始终像 ../img/a.gif 这样引用它,与页面的位置或重写方式无关

    【讨论】:

    • 太好了,我没有意识到它们总是相对于 CSS 文件...谢谢!
    【解决方案2】:

    我喜欢将所有样式图像保存在样式表位置的子目录中,例如:

    站点->样式->Common.css
    站点->样式->图像->Background.png

    通过这种方式,您可以缓解 CSS 中的“向上”目录令人困惑或需要轻松移动 CSS 的问题,因为它完全包含在单个目录中。

    坦率地说,在拥有大量媒体的大型网站中,将风格图像和内容图像混合在一起可能会有点混乱。

    【讨论】:

      【解决方案3】:

      您仍然可以在“向上”导航中使用相对地址:

      例如在/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>
      

      它可能不是最吸引人的,但它应该可以工作。

      【讨论】:

        猜你喜欢
        • 2018-07-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-04-03
        • 2012-12-28
        • 2020-05-15
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多