1

main.css.sass と print.css.sass としましょう。現在、印刷スタイルシートは不要な情報を隠しているだけで静的です。ただし、チェックボックスがオンになっているかどうかに応じて、印刷メディアに非表示または表示したい div があります。

これは、Javascript や JQuery を介して行うのが最善だと思います。JQueryなどでチェックボックスのステータスを取得するのに問題はありません。私の問題は、CSS をそのステータスに依存させる良い方法を見つけることです。

現在、私は main.css.sass ファイルで試しています:

@media print
    #foo
        display: none

これは次のようにコンパイルされます:

@media print {
    #foo {
        display: none;
    }
}

しかし、これは現時点では機能していません。(これは、print.css.sass スタイルシートにこの方法で影響を与えることができるかどうかを確認するための単なるテストであり、これまでのところ、答えはノーのようです)。

追加の注意として、 #foo id は print.css.sass スタイルシートではまったく言及されていません。

PS: これも RoR を使用しています。

4

1 に答える 1

3

含まれている CSS ファイルで要素の表示設定を指定すると、JavaScript を使用して要素上で簡単に変更することはできません。代わりに、jQuery を使用して要素の CSS クラスを追加/削除することで制御できます。

@media print
    #foo {
        display:none
        &.visible {
            display:block
        }
    }

$('#foo').toggleClass('visible')jQueryを使用すると、チェックボックスの状態に基づいて使用できます。

于 2012-06-29T20:03:24.080 に答える