4

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

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

但是当我尝试从我的站点打印页面时,页面上的表格和图像仍然出现在打印输出中。

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

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

我在这里做错了什么?

4

1 回答 1

9

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

= 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

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

于 2014-05-02T16:05:16.300 回答