印刷用(プリント用)cssについて

スマートフォンや携帯電話の普及で、webサイトを印刷はすることが少なくなってきている。

なんだけど、稀に印刷までしっかり組んでほしいという要望があるので備忘録。

横幅をA4に無理やり納める方法

以下の様にscaleでページ全体を縮小してしまうのが有効 倍率はwebサイトの横幅とA4の差異に合わせて変更。

@media print {
    body{
        transform: scale(0.7);
        transform-origin: 0 0;
    }
}

 問題点

縮小する前の、ページまたぎの部分で変な間が開くことがある。 その部分に画像があると、見切れたり画像が表示されないことがある。

背景色の印刷について

これはブラウザ事に仕様が異なるので注意。 edgeなんかは基本的にbackgroundは印刷されない。

疑似classなんかに、背景色の画像を作ってはめ込めば印刷されるけど 果てしなく無駄なので、基本はやらない。

chromeで背景色を印刷するには、以下の方法が有効。

https://caniuse.com/#search=print-color-adjust によるとsafarifirefoxもokらしい

インク代がもったいなさそうだし、仕様のブレが出そうなので あんまり使いたくはない。

@media print {
    body{
        -webkit-print-color-adjust: exact;
    }
}

   

chromeで印刷時のcssを確認する方法

たまにしか見ないからいつも忘れる。

1.f12(デベロッパーツール)

2.・が三つ縦に並んだヤツをクリック

3.More tools

4.Rendering

5.Emulate CSS mediaをprintに

印刷プレビューとまったく同じではないけど どのcssが有効になっているかの確認には便利。 そもそも、いちいち印刷プレビュー押すのはめんどくさい。

 結論

ブラウザ毎の差異が大きいし、 完璧に合わせることが実際無理なので、印刷用cssは触りたくない。