【问题标题】:Style sheets for printing using the @media in rails project在 rails 项目中使用 @media 进行打印的样式表
【发布时间】:2013-05-01 16:31:23
【问题描述】:

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

我有一个课程内容,我将显示设置为无以进行测试。如果我删除 @media 打印块,那么它可以在屏幕上工作,但仍然不能在打印机中。

@media print {
   .contents {
      display: none;
    }
 }

我在 Chrome 和 Firefox 中测试过打印,好像样式表在打印时没有加载,我还有什么需要配置的吗?

【问题讨论】:

    标签: ruby-on-rails sass


    【解决方案1】:

    您应该像这样创建一个打印清单文件,并像这样要求您的打印 sass 文件。

    print.css

    /*
     *= require print
     */
    

    然后在你的布局中:

    <%= stylesheet_link_tag "print", media: 'print' %>
    

    【讨论】:

    • 我已经有了 require 行,但没有用于打印媒体的 stylesheet_link_tag。谢谢
    • 只有这两个步骤,我收到一条错误消息 -- 将 Rails.application.config.assets.precompile += %w( print.css ) 添加到 config/initializers/assets.rb 并重新启动您的服务器 -- 即使在那之后,rails 也会多次包含 print.css媒体=“屏幕”。所以......不起作用
    • @mmcrae 这可能是因为您的应用程序清单中也需要打印。
    • 这些天你可能想使用 @import 'print' 而不是过时的 'require'
    猜你喜欢
    • 2013-12-16
    • 2013-01-15
    • 2017-04-16
    • 1970-01-01
    • 2012-08-22
    • 1970-01-01
    • 1970-01-01
    • 2012-09-13
    • 1970-01-01
    相关资源
    最近更新 更多