質問: とあるWebサイトを作っています。タイトルでは上手く表現できなかったのですが... クライアント様から印刷したらおかしいと言われました。 どういうことか詳しく聞いてみると、背景画像を印刷にチェックを入れていなかったから画像がでなかった、ということでした。 いつもなら画像が印刷にでるようにしてくださいというだけなのですが、 そのWebサイトはたくさんの人に利用してもらうツールで、かつ印刷する機会が多々あります。 画像が表示しなければ印刷しても意味が通じないものも多いです。 そこで、背景画像を印刷にチェックを入れる作業をしなくても画像をでるようにしたい方向になりました。 とすると直接画像をおかねばならず、確かに厳しいのですが、結構制限がでてきます。 レイヤーで重ねる方法しかないと思いますが、それがすべてだと大変な作業です。まぁそれは仕方がないのですが。 高さが固定でなければならなかたり、ものによっては背景画像ではないと表現できない部分があります。 そこで相談なのですが、背景画像を極力使わずにすることは可能だが出来ないものは出来ない、とどう伝えたらいいのでしょうか。 出来ないじゃなくてやって、という雰囲気の中、うまく伝えるにはどうしたらいいのか分かりません。 なんとなくですけど、できない=技術力が足りない、と思われるのは弊社としてさけたいです。 またほとんどのWebデザインは背景画像を利用していると思うのですが、ユーザーが印刷するときに背景画像を印刷にチェックを入れる必要があり、またそれが分からないユーザーも多い点ではどのようにお考えですか? 背景画像を印刷にチェックを入れなければならないことを知らないユーザーは無視、でしょうか? 普段そのようなことを意識している方はいらっしゃいますか?
回答: ブラウザでは、インクの無駄を押さえる等の目的から飾りの背景色や背景画像は印刷しないようになっているものです。 そもそもweb上で使われる画像(ましてや背景画像)は印刷に堪えれるクオリティじゃないし。 > 画像が表示しなければ印刷しても意味が通じない そういう画像なら背景とせずにタグでしっかりと配置するべきです。 SEOとか称して画像は悪と見なして、何でもかんでもテキストで記述してCSSで無理やり置き換えるようなのがありますが大間違いです。 ちゃんと意味がある画像ならタグにalt属性で説明つけて配置すればいいだけです。 画像表示されない(altの内容表示された)状態で意味が通じるなら問題ありません。 alt属性に無関係な単語ずらずら入れるのは危険ですが。 > 知らないユーザーは無視 自分は必要な部分だけが見やすい形で印刷されるようにした、印刷専用のCSSを用意しています。 印刷物には本文だけあればメニューとか不要だし、下手に背景色や粗い背景画像あっても見づらいだけなので。 コピー用紙とかつかったらインク吸って汚いだけ。 このQ&Aのページだって必要な本当に必要な部分(質問&回答)+α(検索窓や質問と回答の間の広告) 程度しか印刷されないように専用のCSS設定されています。 横の広告とか無駄のは印刷されません。 +αも印刷されないと無駄減らせて便利なのだけど。 画面上で見えているのだから、それがそのまま印刷されないのはおかしいとか嫌だという人もいるようですけど。 参考までに 印刷用 CSS で背景画像を印刷させる方法 - lucky bag