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 はデフォルトで「スクリーン」を使用するため、スクリーン タイプのスタイルシートで印刷クエリを使用しようとしていますが、これは機能しません。この問題を回避するためにできることの 1 つは、ビューからスタイルシートを呼び出すときにメディア タイプを指定することです。例:

= 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

したがって、このファイルは 2 つの異なるメディア タイプで 2 回呼び出されることはありません。

于 2014-05-02T16:05:16.300 に答える