如何在使用Rails 4的css中使用打印样式?

时间:2013-10-02 19:18:18

标签: css ruby-on-rails

我的application.css.scss文件中有以下内容:

@media print {
  form, img {
    display: none;
  }
}

但是当我尝试从我的网站打印页面时,页面上的表单和图像仍会出现在打印输出上。

在开发中,application.css文件的顶部如下所示:

/*
 * This is a manifest file ...
 */
@media print {
  form, img {
    display: none; } }

我在这里做错了什么?

1 个答案:

答案 0 :(得分:9)

如果您未指定媒体类型,则rails将默认为“screen”,因此,您尝试在屏幕类型样式表上使用打印查询,但这不起作用。要避免此问题,您可以做的一件事是在从视图中调用样式表时指定媒体类型。例如:

= stylesheet_link_tag "application", media: "all"
= stylesheet_link_tag "application", media: "screen, projection"
= stylesheet_link_tag "application", media: "print"

我通常只是简单地调用css应用程序(包括需要树的清单)并添加一个样式表链接标记,调用css我通常将'print.scss'命名为指定媒体类型,但我也必须记得在应用程序清单上添加:

*= stub print

所以这个文件在两种不同的媒体类型下不会被调用两次。