在本文中,我們回顧了使用CSS創建打印機友好網頁的藝術。
打印機友好的頁面的重要性:儘管存在數字時代,但仍需要對打印機友好的網頁。打印網頁對於各種目的都是必不可少的,例如打印旅行票,離線閱讀,並為那些難以使用屏幕的人提供可訪問的信息。本文強調了優化打印網頁以改善可訪問性和用戶體驗的必要性。
實用的技巧和技術:本文為創建有效的打印樣式提供了豐富的實用建議。關鍵建議包括刪除不必要的元素,使用適當的字體和尺寸進行線性化佈局,管理頁面中斷以及包括印刷版本的補充內容。這些技巧可幫助Web開發人員確保可以輕鬆有效地打印其網站,從而在維護Web內容的完整性的同時節省墨水和紙張。
為什麼我們需要CSS進行打印?
複製路線方向或時間表
>
部分可以完全裁剪或完全消失>將響應式,連續的媒體轉換為任何規模和方向的分類紙可能具有挑戰性。但是,CSS打印控制已有多年了,並且可以在數小時內完成基本樣式表。以下各節描述了使您的頁面友好型頁面的良好支持和實用的選擇。
>打印CSS可以是:
>選擇取決於您的網站/應用。就個人而言,我在大多數情況下都使用屏幕樣式作為打印基礎。但是,我已經為具有根本不同輸出的應用程序使用了單獨的樣式表 - 例如會議預訂系統,該系統在屏幕上顯示時間表網格,但在紙上按時間順序排列。
標準樣式表之後,可以將打印樣式表添加到html :之後
<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>
>
要分開屏幕和打印媒體,main.css僅針對屏幕:或者,可以使用@Media規則將打印樣式包含在現有CSS文件中。例如:
<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>
>可以添加任意數量的@Media打印規則,因此這對於將相關樣式保持在一起可能是實用的。屏幕和打印規則也可以在必要時分開:
<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>
最可靠的選項是瀏覽器中的“打印預覽”選項。這顯示瞭如何使用默認紙張大小來處理頁面中斷。
>開發人員工具
devTools(
f12 shift i> i)可以模仿打印樣式,儘管頁面斷開不會是顯示。
在Chrome中,打開開發人員工具並選擇更多工具,然後從右上角的三點圖標菜單中渲染。更改模擬CSS介質以在該面板的底部打印。
hack your媒體屬性
<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>
>線性化佈局
打印機樣式
現在可以應用確保您在白色背景上使用深文本
標準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>
您的模板可能具有深色或逆配色方案表示的部分或呼叫框:
>通過用邊框表示這些元素來保存墨水:
>刪除或反轉圖像
>
>用戶不想打印裝飾性和非必要圖像和背景。您可以考慮一個默認值,除非所有圖像都隱藏了所有圖像,否
<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>
結果:
>印刷媒體通常需要在屏幕上不需要的其他信息。 CSS內容屬性可用於將文本附加到::之前和偽元素之後。例如,在文本之後在括號中顯示鏈接的URL:
><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>
注意:大多數瀏覽器在打印頁面的標題和/或頁腳上顯示URL和當前日期/時間,因此很少需要以代碼生成此信息。 頁面斷裂
> css3屬性在元素之前和之後的頁面,列或區域的表現如何在元素之前和之後進行表現。支持非常好,但是較舊的瀏覽器可能會使用類似的頁面斷點 - 拆分和頁面破壞屬性。auto:默認值 - 允許休息,但不強制
避免:避免在頁面,列或區域
> Break-inside(和較舊的頁面斷路內)屬性指定是否允許在元素內進行頁面斷路。通常支持的值:
<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>
auto:默認值 - 允許休息,但不強制 避免:避免在可能的情況下
避免頁:避免在可能的情況下避免內部頁面斷開
>最後,CSS分類媒體(@page)的瀏覽器支持有限,但提供了針對特定頁面的方法,因此可以定義替代的邊距或斷點:
<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>
請注意,頁面斷開控制僅僅是瀏覽器的建議。不能保證會被迫或避免休息,因為佈局僅限於紙張的範圍。
>印刷疼痛控制Web媒體的控制始終將受到限制,並且結果可能會在瀏覽器之間變化。也就是說:
>打印機友好的樣式床單可以恢復到任何站點
>css Master,第三版。 關於使用CSS
創建打印機友好的頁面的常見問題解答>創建CSS打印樣式表對於在打印網頁時控製網頁的外觀很重要。結束我們的結尾,介紹一些有關如何使用CSS創建打印機友好的頁面的常見問題。 > 什麼是打印的CSS?
>我如何使用CSS進行打印?
>>有兩種基本方法可以在CSS中提供打印樣式:通過單獨的樣式表或通過媒體查詢。 CSS打印樣式可以存儲在文檔的
部分中鏈接到網頁的單獨樣式表中:>用於打印樣式表的常見用例包括:
- 調整字體尺寸和样式以在紙上可讀性。
- 刪除或隱藏打印時與某些元素無關的元素(例如導航菜單)。 - 確保圖像和背景顏色默認不打印。
- 指定頁面斷路以控制內容如何在頁面上劃分。
@media print {
}
}
>如何指定“打印樣式”中的頁面中斷?
@media print {
.page-break {
page-break-before:始終;
}
}
}
>我可以更改打印文檔的頁面餘量嗎?
@page {
margin:1cm;
}
我如何確保圖像和背景顏色不打印?
@media print {
img {
display:none;
}
body {
}
}
@media print {
{
font-size:12pt;
font-family:arial,sans-serif;
}
}
}
>您可以使用Web瀏覽器的打印預覽功能來測試打印樣式表。大多數現代瀏覽器都可以讓您查看頁面印刷時的外觀,而無需實際打印。
以上是如何使用CSS創建打印機友好的頁面的詳細內容。更多資訊請關注PHP中文網其他相關文章!