AIRE-PROJECT BLOG

RecentComments

月別アーカイブ

Link

« もぎぎのオーケストラ“くわしっく 鑑賞ガイド” | Home | 半角文字の連続を表示させるとレイアウトが崩れる »

2007年01月24日

IE6で背景を印刷する

CSS

IEで背景に指定した色や画像を印刷するためには、【ツール】→【インターネットオプション】→【詳細設定】の中のいっちばん下にある、【背景の色とイメージを印刷する】にチェックを入れる必要があります。

これでOK!と思ったら大間違い、Web製作者、とくにWeb標準準拠で制作している人にはバグという大きな落とし穴があったのです。
IEで背景を印刷する設定にしても、CSSで背景に指定している色や画像が印刷されない場合があるのです。

今やっている仕事で、IE7から印刷時に自動的に紙の幅に合わせて縮小してくれるという機能が実装されたため、ブラウザで見えている通りに印刷したいという要望が出てきたので対応しているのですが、このバグに見事にはまりました。

下記サイトで原因がやっとわかりました。

Internet Explorer (Windows) CSSバグリスト

IE6では「width」を明示的に指定しないと、さまざまな不具合が起こりますが、これもそのひとつ。
「background」に「repeat」以外の値を指定していて、「width」または「height」が明示的に指定されていないと背景が印刷されません。

IE6では「height」を指定しても、中身に応じて自動的に高さが伸びるという、これもある意味バグなんですが、そういう仕様だったので「height」を指定してもいいですが、IE7ではこれがなくなったので自動的に「width」で対応するということになりますね。
「repeat-x」も「repeat-y」も「no-repeat」もダメってことは、ぜんぜんダメってことじゃないですか。
まったく嫌んなっちゃいますね。

これからは背景を指定した要素のほとんどに、「width」を指定しないといけないってことですか。
ぐあぁぁぁぁ……、めんどくさい!

トラックバック

複数ページにまたがるdivの背景が印刷されないIEのバグ(LUXURY : プランナー、加藤康祐のブログ)2007年02月26日 13:36
IE6で背景を印刷する (AIRE-PROJECT BLOG) IEのバグにぶち当たって1時間ほど悶々としてたのですが、素晴らしいエントリを発見して救われ...

Comment

コースケ 2007.02.26 13:29

ありがとうございます!スゴイ助かりました。
親要素があったのでwidth="100%"にしてやったら、
うまく印刷できるようになりました。

複数ページに渡るコンテンツを印刷するときに、
最後のページにしか背景が印刷されないので、
ほとほと困ってたんですよね。

コメントを投稿

写真に興味がある人へ

写真以上 写真未満 THE BOOK OF PHOTO COMMUNICATION

写真以上 写真未満 THE BOOK OF PHOTO COMMUNICATION

著:gg

うめめ

うめめ

うめ版―新明解国語辞典×梅佳代

うめ版―新明解国語辞典×梅佳代

著:梅 佳代

男子

男子

著:梅 佳代

「写真の学校」の教科書―基礎編

「写真の学校」の教科書―基礎編

著:写真の学校 東京写真学園

篠山紀信 目玉の欲望

篠山紀信 目玉の欲望

著:篠山 紀信

関連エントリー 【CSS

はてなブックマーク del.icio.us ニフティクリップ livedoor クリップ POOKMARK Airlines Buzzurl(バザール)

Web制作者におススメの一冊

CSS Zen Garden Book―Webデザインのベストプラクティスに学ぶ、CSSクリエイティブ・テクニック (Web Designing BOOKS)

Web標準の教科書―XHTMLとCSSでつくる“正しい”Webサイト

SAMURAI佐藤可士和のつくり方

デザイン・ルールズ デザインをはじめる前に知っておきたいこと

俺流amazonの作り方―Amazon Webサービス最新活用テクニック

ウェブ戦略としての「ユーザーエクスペリエンス」―5つの段階で考えるユーザー中心デザイン (Web designing books)

スタイルシート スタイルブック

Copyright © 2007 Aire-Project All Rights Reserved.