默認情況下,某些網絡瀏覽器(例如Firefox和IE)在打印對話框中禁用背景色。是否有html/css可以用來爲即使在這種情況下打印的元素創建背景顏色?如何在網頁中設置背景顏色,以便默認打印?
或者,有一種整潔的方式可以在打印網頁之前警告用戶?
編輯:我之前沒有說清楚,但是網頁被設計成可以打印。主要背景是白色,但偶爾的單詞和短語用背景色突出顯示。要使事情稍微複雜一些,頁面內容和突出顯示主要由用戶決定。
默認情況下,某些網絡瀏覽器(例如Firefox和IE)在打印對話框中禁用背景色。是否有html/css可以用來爲即使在這種情況下打印的元素創建背景顏色?如何在網頁中設置背景顏色,以便默認打印?
或者,有一種整潔的方式可以在打印網頁之前警告用戶?
編輯:我之前沒有說清楚,但是網頁被設計成可以打印。主要背景是白色,但偶爾的單詞和短語用背景色突出顯示。要使事情稍微複雜一些,頁面內容和突出顯示主要由用戶決定。
爲了警告用戶,您可以使用onbeforeprint
事件屬性。
我認爲它更好地將您的背景顏色轉換爲小圖像,並在您的背景使用CSS重複它。
background: url("../images/headerblue.gif") repeat-x scroll left 7px transparent;
從理論上講,你可以風格單個像素圖像被絕對定位背後的內容和縮放......但是這是一個可怕的解決問題的方法。
使用大塊墨粉或墨水可能會很昂貴。改爲創建一個針對白色背景進行優化的打印樣式表。
這可能是最好的答案。長話短說,沒有沒有CSS/JS的方式來打印背景圖像。允許Javascript(CSS不是一種真正的編程語言)對計算機的訪問是一個壞主意(安全性)。瀏覽器將在「IMG」標籤中打印某些內容。你可以在一些內容後面添加IMG標籤,但這是一種可怕的方法。在打印機樣式表上優化白色的顏色是一個很好的建議。 – jmbertucci 2012-01-11 14:12:00
使用不同介質類型的打印:
<link rel="stylesheet" type="text/css" media="print" href="print.css" />
這不會覆蓋「不打印背景」用戶首選項。 – Quentin 2012-01-11 14:00:46
這是一個瀏覽器首選項,你只能這麼做,直到用戶覆蓋。 – 2012-01-11 14:02:16
在瀏覽器的打印對話框中有非常有限的選項,現在看着它們,我沒有看到任何不打印背景顏色的選項。如果發生這種情況,可能是您的打印機設置,而不是您的瀏覽器設置... – 2012-01-11 14:03:59
這是我最終使用的解決方案 - 謝謝。 – tttppp 2012-01-19 08:32:13