【发布时间】:2011-08-14 20:02:26
【问题描述】:
是否有一种优雅的方式可以从 css 访问生产中的指纹图像?
我知道我可以将 erb 用于 css,但是用 erb 添加 url 看起来很难看,我认为它应该以某种方式自动化。此外,我不想更改供应商样式表。
谢谢!
【问题讨论】:
标签: ruby-on-rails image stylesheet ruby-on-rails-3.1 asset-pipeline
是否有一种优雅的方式可以从 css 访问生产中的指纹图像?
我知道我可以将 erb 用于 css,但是用 erb 添加 url 看起来很难看,我认为它应该以某种方式自动化。此外,我不想更改供应商样式表。
谢谢!
【问题讨论】:
标签: ruby-on-rails image stylesheet ruby-on-rails-3.1 asset-pipeline
我认为 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)}.
【讨论】:
sass-rails 为此添加了一个名为 image-path 的助手。你可以这样使用它:
#图片{ 背景:图像路径(“rails.png”) }
这不适用于普通的 css 文件,但因为 scss 是 css 的超集,所以你应该能够将扩展名更改为 .scss,一切都会好起来的。
【讨论】:
/assets。)对于供应商的图像(例如引导字形图标),我使用public/img