使用@media in rails项目打印的样式表

map*_*ap7 2 ruby-on-rails sass

我正在创建一个rails 3.2.x项目,我想在其中创建一个用于打印的样式表.我使用SASS和资产管道和我添加一个名为print.css.scss我需要在默认加载萨斯文件行.

我有一个班级内容,我将diplay设置为none以进行测试.如果我删除@media打印块然后它在屏幕上工作但仍然不在打印机中.

@media print {
   .contents {
      display: none;
    }
 }
Run Code Online (Sandbox Code Playgroud)

我已经在Chrome和Firefox中测试了打印,就像样式表没有加载打印一样,还有什么我需要配置的吗?

Arj*_*jan 5

您应该创建一个这样的打印清单文件,并在其中要求您的打印sass文件.

print.css

/*
 *= require print
 */
Run Code Online (Sandbox Code Playgroud)

然后在你的布局中:

<%= stylesheet_link_tag "print", media: 'print' %>
Run Code Online (Sandbox Code Playgroud)

  • 只有这两个步骤,我得到一个错误说 - 将`Rails.application.config.assets.precompile + =%w(print.css)`添加到`config/initializers/assets.rb`并重启你的服务器 - 甚至在那之后,rails多次包含`print.css`,media ="screen".所以...不起作用 (2认同)