• 締切済み

HTMLの画面上と印刷時のレイアウト

WEB 上では、認識しやすい大き目のフォントサイズ、カラー(Css 指定)で表示をしているが、印刷コマンドを実行したときは、小さいフォントサイズ、モノトーン(Css 指定)で印刷される。 こんな事は可能でしょうか? *** STYLE 指定タグ( HEAD 内)に [ media=print ] の一文を書き添えると、印刷時はその Css を参照してくれます。(確認済み) しかし、画面表示用の Css 属性が別項目に設定してあると [ media=print] の Css は無視されてしまいます。 [ media=tv, projection ] と言うのもあるようですが、有効ではないようです。 *** PS: このような事は、JavaScript でないと出来ないのでしょうか? Css: カスケード・スタイル・シート 環境: Win98SE, IE 5.5

  • Bo_Bo
  • お礼率72% (78/108)
  • HTML
  • 回答数1
  • ありがとう数8

みんなの回答

  • blackdog
  • ベストアンサー率0% (0/0)
回答No.1

(動作確認は、Windows IE 5.5でのみ) 基本的には、CSS 基本タグ内に [ media=print ] の一文を加えるだけで、 印刷時にはそちらの CSS を参照してくれるようです。 /* --- ここから --- */ <!-- 画面用 --> <STYLE type="text/css"><!-- P { font-size: small; color: blue } --></STYLE> <!-- 印刷用 --> <STYLE type="text/css" media="print"><!-- P { font-size: 9pt; font-family: "MS ゴシック"; color: black } --></STYLE> /* --- ここまで1セット --- */ /* --- ここから --- */ <!-- 画面用 --> <link rel="stylesheet" href="Screen.css"> <!-- 印刷用 --> <link rel="stylesheet" href="Print.css" media="print"> /* --- ここまで1セット --- */ 印刷時に変更したいスタイルに対しては、否定( none 等)も含めて 全てを記述した方がよろしいかと思います。 但し、印刷用の CSS を指定しても無視される場合があります。(下記参照) 現在、私が認識している無視される場合の例: 印刷時にスタイルを変更したい文字列などに対して ※ HTML スタイル(フォントサイズ、カラーなど)を適用している ※ その文字列などに、直接 CSS スタイルを適用している その他にもあったような気がするのですが、実験を繰り返している間に 無視される場合の記述方法を忘れてしまいました。

関連するQ&A

  • 印刷時に消したいjavascriptがある

    印刷用のcssを読み込んでいるのですが、 困ったことに、javascriptで無理やり表示している要素がありまして、 そのソースは外部サイトを読み込んでいるので、 こちらサーバーで指定したcssのdisplay:noneは一切ききません。 そこで、印刷時には<script></script>を消すみたいな ことをしたいのですが、そのようなことを可能でしょうか。 javascirptでなくてもphpでも大丈夫です。 cssのmediaとprintのように何かフラグが取得できればいいのですが・・・ ご教授お願いいたします。

  • 印刷曜CSSがどこかおかしい・・・非常に困っています。。。

    <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=shift_jis"> <title></title> <link rel="stylesheet" type="text/css" media="print" href="print.css"> <style type="text/css"> <!-- .style1 { font-family: "MS Pゴシック"; font-size: 12px;} --> <style type="text/css" media="print"> .print { display: "none" } </style> </style> </head> <body> <span class="style1"><p class="print"><p class="print2"><a onclick="window.print();return false;" href="#" >おおお</a></p></p></span> とソースに記載すると、「おおお」が印刷されないと思うのですが、なぜか、「おおお」が印刷されてしまいます。 どうすれば、「おおお」を印刷されなくなるのでしょうか?

    • ベストアンサー
    • HTML
  • JavaScriptで印刷時にスタイル変更

    お世話になります。 JavaScriptで画像を表示するプログラムを作成しました。lightboxのようなもので、スクロール位置に合わせて画像を表示します。 この画像を印刷時に上に寄せて表示したいのですが、スクロール状態によって下の方に画像が表示されてしまいます。 これを解消しようと外部スタイルシートにて @media print{}で指定しましたが、JavaScriptが動的に変更したプロパティは上書きされてしまうようで上手くいきませんでした。 考えたのは 1.印刷時に画像のtopを0にする    →topは表示時にJavaScriptで上書きしているのでダメ 1.もう一つ画像を作って、印刷時に表示し、元の画像を隠す    →元の画像のdisplayを上書きしているのでダメ 2.元の画像の上に白のDIVを被せて、その上にもう一つの画像を載せる    →場合によっては印刷のページ枚数が増えてしまう(元の画像は生きているため) JavaScriptから@media printの属性を上書きできたら良いのですが、色々と調べましたが良く分かりませんでした(それらしきプロパティは有るようですが。。) よろしくお願いします。

  • ブラウザ表示用と印刷用のCSSが同一の場合、ブラウザの表示と印刷ページでは、表示に大きな差がありますか?

    例えば、IEはTridentというレンダリングエンジンを搭載しているようです。当然、ブラウザ表示のレンダリングはTridentが行うと思いますが、IEで印刷する場合のレンダリングも同じレンダリングエンジンが使用されるのでしょうか? もしそうであれば、CSSのmediaタイプにprintを指定した場合(ブラウザ表示用のCSSと印刷用のCSSが同一場合)、ブラウザ上の表示と印刷ページの表示には、 ・フォント(サイズ)の相違 ・デフォルトで背景を印刷しない ・クライアント側の印刷用紙サイズによって画面右側が途中で切れる の点を除いて、例えば、印刷ページにのみ特有のバグ等の大きな差がありますでしょうか?

  • CSSレイアウトで背景印刷ができない。

    CSSレイアウトで外注さんに制作していただいたのですが、画像のみのサイトな為、印刷したら白い紙しかプリントされません。 強制的に背景まで印刷するような、JavascriptもしくはCSSの記述はありませんでしょうか? 外注さんに「それならテーブルでくむしかない」といわれております。 誰か助けてください。。。

  • 閲覧用CSSと印刷用CSSを分けることは可能ですか?

    現在、WEBページをtable無しのCSSで作成しています。 普通に閲覧する場合には問題ないのですが、 印刷しようとすると外部CSSで指定している画像が 印刷できないため、#fff部分が消えてしまいます。。 その為、media="screen"とmedia="print"で使い分けて 印刷時には#fffを#999などにしようと思ったのですが、 閲覧時にそれが反映されてしまって、黒い画像に#999文字になってしまい上手くいきません。 現在の記述は、 <meta http-equiv="Content-Style-Type" content="text/css"> <link rel="stylesheet" href="style.css" type="text/css" media="screen"> <link rel="stylesheet" href="print.css" type="text/css media="print"> です。 色々サイトを見たところこの方法であってると思ってたのですが 何が間違っているのでしょうか?? もしくは、他に印刷時も閲覧画面と同じように見せる方法があれば 教えてください。よろしくお願い致します。

    • ベストアンサー
    • HTML
  • 画面全体が印刷されません。

    印刷ボタン(画像)を押下で画面全体を印刷したいのですが、 印刷ボタン(画像)しか印刷されません。 どのように指定すればよろしいのでしょうか? よろしくお願いします。 ===================================================================== <style TYPE="text/css"> <!-- #main{ background: url(img/waribiki.jpg) no-repeat center top; height:650px; text-align:center; --> </style> </head> <body> <p id=main><a href="javascript:window.print();"><img border="0" src="img/bprint.jpg" width="180" height="50" alt="印刷する"></a></p> </body> </html> =====================================================================

    • ベストアンサー
    • HTML
  • 画面上で見たレイアウトと印刷時のレイアウトが違う(ズレる)(ワード2003)

    環境:WIN XP、WORD2003 こんばんは。現在ワードで会報を作成しているのですが、画面で作成した文章(画像等挿入あり)を印刷すると、文章中に挿入した画像や、オートシェイブで書いた線やテキストボックスで作成した文章が画面で見た状態と違ってずれ、さらにその影響で文章までずれて印刷されてしまいます。 ずれ対策として、一応、各書式設定のレイアウト?タブでそれらを最後面(設定画面で犬の絵が文字の一番後ろに なっているものを選択)に設定し、普通に打った文章とは 干渉(押し合いへし合い)しないようにしているのですが、やはり駄目です。(画面上では思った通りにレイアウトできても、印刷段階でずれます。) 普通の文章とそれらの挿入したものが干渉せず、画面と 同じように印刷される方法はないでしょうか? また、珍現象として、プレビュー画面で100%のサイズで見ると画面通りに印刷されるように表示されますが、 50%サイズでプレビューするとズレが発生し、このサイズ(50%)のプレビュー通りに印刷されてしまいます。 ちなみに全画面表示で100%サイズプレビューの状態をプリントスクリーンで印刷方法も試みましたが、結局、それでは全てが画面に納まらず、また左右のグレーの空白部分(作成中の文はA4の縦)も印刷対象となってしまうため駄目でした。思い通りにプリントスクリーンするソフトもあるようですが、私用のPCではないので、それを使う事は許されません。 良い解決方法はないでしょうか?画面通りに印刷さえできればよいのですが(;;) よろしくお願いします。

  • CSSとタグの関係

    おはようございます。宜しくお願い致します。 HTMLに外部スタイルシート(CSS)を組み込み、更にHTML内にタグでスタイルシートと同じ内容のものを書き込んだ場合、そのタグを消さないとCSSは反映されませんよね? 例えば、CSSでフォントサイズを指定したとして(tdにidで指定するとします)、HTML内にフォントサイズのタグを書き込んだ場合、どちらを優先されますか? 例:CSSで、 td#word {font-size: 10pt;} と指定します。それに併せて、HTML内に、 <td id="word" colspan="1"><font size="-1">表示したい文字</font></td> とした場合、指定するものに一番近い指定(<font size="-1">)を優先される…と覚えていたのですが。そして、この場合CSSは効かないと…。 しかし、両方効くはずと言われたことがあるのです。 それと、外部スタイルシートを「外してみているユーザーが居る」と言われた事が有ります。 勉強不足で申し訳有りません。外部スタイルシートの外し方って、どうやるのでしょう? 宜しくお願い致します。

    • ベストアンサー
    • CSS
  • jQueryで印刷用の条件分岐などできますか?

    cssであれば media="print" @media print などの方法がありますが、jQueryでも似たようなことはできますでしょうか? 印刷用にcssを作れないほど複雑になってしまっているので、印刷の時のみjQueryでサイト内全てのタグにstyle="overflow:visible;"などと追記してはどうだろうと考えています。 調べたのですが、見つけられなかったのでこちらで質問させていただきました。 よろしくお願いいたします。

専門家に質問してみよう