質問: htmlの画面上と印刷時のレイアウト web 上では、認識しやすい大き目のフォントサイズ、カラー(css 指定)で表示をしているが、印刷コマンドを実行したときは、小さいフォントサイズ、モノトーン(css 指定)で印刷される。 こんな事は可能でしょうか? *** style 指定タグ( head 内)に [ media=print ] の一文を書き添えると、印刷時はその css を参照してくれます。(確認済み) しかし、画面表示用の css 属性が別項目に設定してあると [ media=print] の css は無視されてしまいます。 [ media=tv, projection ] と言うのもあるようですが、有効ではないようです。 *** ps: このような事は、javascript でないと出来ないのでしょうか? css: カスケード・スタイル・シート 環境: win98se, ie 5.5
回答: (動作確認は、windows ie 5.5でのみ) 基本的には、css 基本タグ内に [ media=print ] の一文を加えるだけで、 印刷時にはそちらの css を参照してくれるようです。 /* --- ここから --- */ /* --- ここまで1セット --- */ /* --- ここから --- */ /* --- ここまで1セット --- */ 印刷時に変更したいスタイルに対しては、否定( none 等)も含めて 全てを記述した方がよろしいかと思います。 但し、印刷用の css を指定しても無視される場合があります。(下記参照) 現在、私が認識している無視される場合の例: 印刷時にスタイルを変更したい文字列などに対して ※ html スタイル(フォントサイズ、カラーなど)を適用している ※ その文字列などに、直接 css スタイルを適用している その他にもあったような気がするのですが、実験を繰り返している間に 無視される場合の記述方法を忘れてしまいました。