【问题标题】:Rails 3.1: Access a fingerprinted image from cssRails 3.1:从 css 访问指纹图像
【发布时间】:2011-08-14 20:02:26
【问题描述】:

是否有一种优雅的方式可以从 css 访问生产中的指纹图像?

我知道我可以将 erb 用于 css,但是用 erb 添加 url 看起来很难看,我认为它应该以某种方式自动化。此外,我不想更改供应商样式表。

谢谢!

【问题讨论】:

    标签: ruby-on-rails image stylesheet ruby-on-rails-3.1 asset-pipeline


    【解决方案1】:

    我认为 image-url 应该可以解决这个问题

    .btn_back:hover {background-image: image-url('btn_back_push.png');}
    

    它在开发中对我有用。模式以及以预编译资产为结果的生产中

    开发。模式:

    .btn_nav:hover {
      background-image: url("btn_nav_push.png");
    }
    

    生产:

    .btn_nav:hover{background-image:url(/assets/btn_nav_push-094b577d7e9e1cc6d5aced334f3fe8b3.png)}.
    

    【讨论】:

      【解决方案2】:

      sass-rails 为此添加了一个名为 image-path 的助手。你可以这样使用它:

      #图片{ 背景:图像路径(“rails.png”) }

      这不适用于普通的 css 文件,但因为 scss 是 css 的超集,所以你应该能够将扩展名更改为 .scss,一切都会好起来的。

      【讨论】:

      • sass-rails 的自述文件有更多关于这些新助手的信息。 github.com/rails/sass-rails
      • 谢谢,太好了。它解决了我一半的问题。仍然不确定如何处理供应商样式和 js 文件。
      • 这确实对我有用,但前提是我使用相对路径,而不是绝对路径。 (并且记住在任何一种情况下都忽略/assets。)对于供应商的图像(例如引导字形图标),我使用public/img
      猜你喜欢
      • 2014-04-20
      • 1970-01-01
      • 2011-11-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-10
      • 2012-01-27
      • 1970-01-01
      相关资源
      最近更新 更多