この記事では、CSSを使用してプリンターに優しいWebページを作成する技術をレビューします。
キーテイクアウト
css for print:cssは、Webページをプリンターに優しいものにする上で重要な役割を果たします。この記事では、CSSを使用して、印刷時にWebコンテンツが最適な形式で表示されることを保証する印刷スタイルシートを作成する方法を概説しています。これには、印刷に特定のメディアクエリの使用、レイアウトとスタイルの調整、印刷ページが読みやすく、よく組織化されていることを確認することが含まれます。
実用的なヒントとテクニック:この記事は、効果的な印刷スタイルシートの作成に関する豊富な実用的なアドバイスを提供します。重要な推奨事項には、不要な要素の削除、レイアウトの線形化、適切なフォントとサイズの使用、ページの休憩の管理、印刷バージョンの補足コンテンツが含まれます。これらのヒントは、Web開発者が自分のサイトを簡単かつ効率的に印刷し、Webコンテンツの完全性を維持しながらインクと紙を保存できるようにするのに役立ちます。
「誰がWebページを印刷しますか?」私はあなたが泣くのを聞きます!比較的少数のページが紙に再現されることがあります。しかし、考えてみてください:
セクションはトリミングされたり、完全に消えたりする場合があります
応答性のある連続メディアを、あらゆるサイズと方向のページング紙に変換することは困難です。ただし、CSSプリント制御は長年にわたって可能であり、数時間以内に基本的なスタイルシートを完成させることができます。次のセクションでは、ページをプリンターに優しいものにするための十分にサポートされた実用的なオプションについて説明します。
スタイルシート画面スタイリングに加えて
適用されます。画面スタイルをベースとして取ると、プリンタースタイルは必要に応じてそれらのデフォルトをオーバーライドします。print.cssスタイルは、ページが印刷されているときに画面スタイルに加えて適用されます。
画面メディアを分離して印刷するには、Main.CSSは画面のみをターゲットにする必要があります。代わりに、@Mediaルールを使用して、既存のCSSファイルに印刷スタイルを含めることができます。たとえば、
<span><span><span><link</span> rel<span>="stylesheet"</span> href<span>="main.css"</span> /></span> </span><span><span><span><link</span> rel<span>="stylesheet"</span> media<span>="print"</span> href<span>="print.css"</span> /></span> </span>
@mediaの印刷ルールの数を追加できるため、これは関連スタイルをまとめるために実用的かもしれません。必要に応じて画面および印刷ルールも分離できます。
プリンター出力のテスト
<span><span><span><link</span> rel<span>="stylesheet"</span> media<span>="screen"</span> href<span>="main.css"</span> /></span> </span><span><span><span><link</span> rel<span>="stylesheet"</span> media<span>="print"</span> href<span>="print.css"</span> /></span> </span>
印刷レイアウトをテストするたびに、木を殺し、とてつもなく高価なインクを使用する必要はありません!次のオプションでは、画面上で印刷スタイルを再現します
プレビューを印刷<span>/* main.css */ </span><span>body { </span> <span>margin: 2em; </span> <span>color: #fff; </span> <span>background-color: #000; </span><span>} </span> <span>/* override styles when printing */ </span><span><span>@media print</span> { </span> <span>body { </span> <span>margin: 0; </span> <span>color: #000; </span> <span>background-color: #fff; </span> <span>} </span> <span>} </span>
最も信頼できるオプションは、ブラウザの印刷プレビューオプションです。これは、デフォルトのペーパーサイズを使用してページブレイクが処理される方法を示しています。
または、PDFにエクスポートしてページを保存またはプレビューできる場合があります。<span>/* main.css */ </span> <span>/* on-screen styles */ </span><span><span>@media screen</span> { </span> <span>body { </span> <span>margin: 2em; </span> <span>color: #fff; </span> <span>background-color: #000; </span> <span>} </span> <span>} </span> <span>/* print styles */ </span><span><span>@media print</span> { </span> <span>body { </span> <span>margin: 0; </span> <span>color: #000; </span> <span>background-color: #fff; </span> <span>} </span> <span>} </span>
devtools(
f12
Chromeで、開発者ツールを開き、より多くのツールを選択し、右上の3ドットアイコンメニューからレンダリングします。エミュレートCSSメディアを変更して、そのパネルの下部に印刷します。
Firefoxで、開発者ツールを開き、[Inspectorタブのスタイル]ペインのトグル印刷メディアシミュレーションアイコンをクリックします。
メディア属性をハッキングします
タグを使用してプリンターCSSをロードすると仮定すると、メディア属性を画面に一時的に変更できます。 繰り返しますが、これはページの休憩を明らかにしません。テストが終了したら、属性をメディア= "print"に復元することを忘れないでください。 他のことをする前に、ディスプレイで冗長コンテンツを削除して崩壊します。紙の典型的な不要なセクションには、ナビゲーションメニュー、ヒーローイメージ、ヘッダー、フッター、フォーム、サイドバー、ソーシャルメディアウィジェット、広告ブロック(通常はiframe内のもの)が含まれます: ディスプレイを使用する必要がある場合があります:なし!重要。 CSSまたはJavaScript機能が特定のUI状態に従って要素を示している場合。 !重要を使用することは通常は推奨されませんが、画面をオーバーライドするプリンタースタイルの基本セットでの使用を正当化することができます。
レイアウトを線形化
CSS列を採用
この例では、少なくとも37emの水平空間があるときに列が作成されます。メディアクエリを設定する必要はありません。追加の列がより広い紙に追加されます。
ユーザーは、装飾的な画像や非必須画像や背景を印刷したくありません。印刷クラスがない限り、すべての画像が非表示になる場合はデフォルトを考慮することができます。
CSSフィルターを使用して、印刷スタイルのシートの色を反転および調整できます。たとえば、
結果: 印刷されたメディアには、画面上で必要ない追加情報が必要です。 CSSコンテンツプロパティを使用して、テキストを:: :: :: pseudo-elementsに追加できます。たとえば、テキストの後に括弧内にリンクのURLを表示します: または印刷のみのメッセージを追加できます: より複雑な状況については、印刷時にのみ表示する必要がある要素に印刷などのクラスを使用することを検討してください。たとえば、 css: 注:ほとんどのブラウザは、印刷されたページのヘッダーおよび/またはフッターにURLと現在の日付/時刻を表示するため、この情報をコードで生成する必要はほとんどありません。
ページが壊れます
注:ページブレークを使用することに注意してください。理想的には、プリンターの出力はできるだけ少ないページを使用する必要があります。
auto:デフォルト - ブレークは許可されていますが、強制されていません
CSSページブレイクプロパティは、印刷にのみ影響するため、画面または印刷スタイルに配置できますが、明確にするために印刷CSSで使用することをお勧めします。
ほとんどのプリンタースタイリングは、ブラウザの大部分で動作します を使用してプリンターに優しいページを作成することに関するFAQ
CSSプリントStyleSheetの作成は、印刷時にWebページの外観を制御するために重要です。 CSSを使用してプリンターに優しいページを作成する方法について、よくある質問のいくつかをカバーして終了しましょう。
印刷のCSSとは? ブラウザからWebページを直接印刷することは可能ですが、印刷されたWebページは、画面に表示されるページのようには表示されないことがよくあります。 WebページはCSSでスタイリングされており、CSSを使用して印刷ページにスタイリングを提供することもできます。ただし、通常、Webページのスタイルは印刷によく翻訳されていないため、印刷されたページ専用にCSSスタイルを作成することが重要です。 PrintのCSSは、プリンターが印刷ページのレイアウトをフォーマットするのに役立つように特別に設計された一連のスタイルです。
印刷にCSSを使用するにはどうすればよいですか?
CSSで印刷スタイルを提供する2つの基本的な方法があります。別のスタイルシートを介して、またはメディアクエリを介して。 CSSプリントスタイルは、ドキュメントの<span><span><span><link</span> rel<span>="stylesheet"</span> href<span>="main.css"</span> /></span>
</span><span><span><span><link</span> rel<span>="stylesheet"</span> media<span>="print"</span> href<span>="print.css"</span> /></span>
</span>
不要なセクションを削除します
<span><span><span><link</span> rel<span>="stylesheet"</span> media<span>="screen"</span> href<span>="main.css"</span> /></span>
</span><span><span><span><link</span> rel<span>="stylesheet"</span> media<span>="print"</span> href<span>="print.css"</span> /></span>
</span>
これを言うのは苦痛ですが、FlexBoxとGridはブラウザのプリンターレイアウトをうまく再生することはめったにありません。問題が発生した場合は、表示:ブロックの使用を検討してください。またはレイアウトボックスで類似しており、必要に応じて寸法を調整します。たとえば、設定幅:100%;ページ幅全体に及ぶ。
プリンターに優しいスタイリングを適用できるようになりました。推奨事項:白い背景に暗いテキストを使用していることを確認してください
が含まれます
標準のA4および米国の文字論文は、より長くて読みやすいテキストの行をもたらす可能性があります。印刷レイアウトでCSS列を使用することを検討してください。たとえば、
<span>/* main.css */
</span><span>body {
</span> <span>margin: 2em;
</span> <span>color: #fff;
</span> <span>background-color: #000;
</span><span>}
</span>
<span>/* override styles when printing */
</span><span><span>@media print</span> {
</span>
<span>body {
</span> <span>margin: 0;
</span> <span>color: #000;
</span> <span>background-color: #fff;
</span> <span>}
</span>
<span>}
</span>
理想的には、印刷された画像は明るい背景に暗い色を使用する必要があります。 CSSでHTML埋め込みのSVG色を変更することは可能かもしれませんが、暗いビットマップがある状況があります:
<span>/* main.css */
</span>
<span>/* on-screen styles */
</span><span><span>@media screen</span> {
</span>
<span>body {
</span> <span>margin: 2em;
</span> <span>color: #fff;
</span> <span>background-color: #000;
</span> <span>}
</span>
<span>}
</span>
<span>/* print styles */
</span><span><span>@media print</span> {
</span>
<span>body {
</span> <span>margin: 0;
</span> <span>color: #000;
</span> <span>background-color: #fff;
</span> <span>}
</span>
<span>}
</span>
補足コンテンツを追加
<span><span><span><link</span> rel<span>="stylesheet"</span> href<span>="main.css"</span> /></span>
</span><span><span><span><link</span> rel<span>="stylesheet"</span> media<span>="print"</span> href<span>="print.css"</span> /></span>
</span>
<span><span><span><link</span> rel<span>="stylesheet"</span> media<span>="screen"</span> href<span>="main.css"</span> /></span>
</span><span><span><span><link</span> rel<span>="stylesheet"</span> media<span>="print"</span> href<span>="print.css"</span> /></span>
</span>
<span>/* main.css */
</span><span>body {
</span> <span>margin: 2em;
</span> <span>color: #fff;
</span> <span>background-color: #000;
</span><span>}
</span>
<span>/* override styles when printing */
</span><span><span>@media print</span> {
</span>
<span>body {
</span> <span>margin: 0;
</span> <span>color: #000;
</span> <span>background-color: #fff;
</span> <span>}
</span>
<span>}
</span>
<span>/* main.css */
</span>
<span>/* on-screen styles */
</span><span><span>@media screen</span> {
</span>
<span>body {
</span> <span>margin: 2em;
</span> <span>color: #fff;
</span> <span>background-color: #000;
</span> <span>}
</span>
<span>}
</span>
<span>/* print styles */
</span><span><span>@media print</span> {
</span>
<span>body {
</span> <span>margin: 0;
</span> <span>color: #000;
</span> <span>background-color: #fff;
</span> <span>}
</span>
<span>}
</span>
CSS3のプロパティは、壊れてから壊れた状態で、ページ、列、または領域の破損が要素の前後に動作する方法を制御できます。サポートは優れていますが、古いブラウザは、同様のページブレイク前とページブレイク後のプロパティを使用する場合があります。
以前の分割前と分割後の値を使用できます
見出しの直前にページブレークを強制します:
<span><span><span><link</span> rel<span>="stylesheet"</span> href<span>="main.css"</span> /></span>
</span><span><span><span><link</span> rel<span>="stylesheet"</span> media<span>="screen"</span> href<span>="print.css"</span> /></span>
</span>
ボックスデカールブレイクプロパティは、ページ全体で要素の境界線を制御します。境界のある要素に内側のページが切れている場合:
<span><span><span><link</span> rel<span>="stylesheet"</span> href<span>="main.css"</span> /></span>
</span><span><span><span><link</span> rel<span>="stylesheet"</span> media<span>="print"</span> href<span>="print.css"</span> /></span>
</span>
プリンターに優しいスタイルシートは、任意のサイトにレトロフィットできます
印刷スタイルは、既存の機能に影響を与えたり壊したりしません
css
CSSプリントStyleSheetをセットアップするにはどうすればよいですか?
CSSプリントスタイルは、メディアクエリを介して、他のメディアのスタイルとともにスタイルシート内に配置できます。
}
印刷スタイルシートの一般的なユースケースは何ですか?
印刷スタイルシートの一般的なユースケースには次のものが含まれます。
- 紙の読みやすさのためのフォントサイズとスタイルの調整。
- 印刷時に関連しない特定の要素を削除または隠します(ナビゲーションメニューなど)。 - 画像と背景の色がデフォルトで印刷されないようにします。
ディスプレイプロパティをなしに設定することにより、CSSを使用して印刷バージョンの特定の要素を非表示にできます。たとえば、
@media print {
.hide-on-print {ディスプレイ:なし;
}
ページブレイク前とページブレイク後のCSSプロパティを使用して、ページブレイクを指定できます。たとえば、
@media print {
.page-break {
}
}
@page {
マージン:1cm;
}
画像や背景の色が印刷されないようにするにはどうすればよいですか?
印刷のためにフォントスタイルとサイズを変更することは可能ですか?
はい、印刷スタイルシート内のさまざまなスタイルを指定することにより、印刷のフォントスタイルとサイズを変更できます。たとえば、
@media print {
font-size:12pt;
font-family:arial、sans-serif;
}
}
Webブラウザの印刷プレビュー機能を使用して、印刷スタイルシートをテストできます。ほとんどの最新のブラウザを使用すると、実際に印刷せずに印刷すると、ページがどのように見えるかを確認できます。
以上がCSSを使用してプリンターに優しいページを作成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。