20
如果使用Rails 3.1資產管道,調用特定媒體(即打印,屏幕等)CSS的正確/ rails/best practices方法是什麼?我知道這已經被問過,但是我所看到的所有解決方案都顯得非常黑客,而不是我所期望的優雅的Rails解決方案。在Rails 3.1資產管道中調用媒體特定css的正確方法
據我所知道的,建議的方法是建立在樣式表文件夾,如下所示:
assets
-stylesheets
--application.css
--application-print.css
--print
---custom-print.css
--screen
---custom-screen.css
的application.css被
/*
*= require_self
*= require_tree ./screen
*/
申請而內容的內容print.css是
/*
*= require_self
*= require_tree ./print
*/
然後在佈局中包含以下內容
<%= stylesheet_link_tag 'application', media = 'screen, projection' %>
<%= stylesheet_link_tag 'application-print', media = 'print' %>
好吧,到目前爲止好。
但在我的情況下custom-print.css正在屏幕上應用,並且沒有css被應用於打印輸出。
此外,這種方法似乎影響從CSS調用的圖像。即不是在資產/圖像中尋找圖像,而是在資產/樣式表/屏幕上尋找圖像。這裏可能還有其他的東西,因爲它似乎只是受到影響的javascript css。我會再做一些檢查並報告回來。
所以我的問題是,你如何處理Rails資產管道中媒體特定的CSS?什麼被視爲最佳實踐?我做錯了什麼?
謝謝你的時間!
DOH一個局部變量!謝謝! – 2012-02-20 08:33:10
您也可以使用'@media print {...}'(IE9 +)。另外,爲了生產,你可能需要在'config/production.rb'中添加'config.assets.precompile + =%w(application-print.css)'(就像我必須爲Heroku做的那樣)。 – manafire 2014-04-22 17:11:08
@fullsailor這應該在哪裏?在'application.html.erb'中? – mmcrae 2015-02-17 22:35:17