2011-09-30 137 views
24

有什麼方法可以確保我的灰色字體顏色不會變黑嗎?灰色字體彩色印刷

Firefox和Chrome似乎這樣做是爲了防止黑色背景上的白色文字變成白色的白色。我沒有背景顏色(白色除外),所以此瀏覽器級別的轉換沒有用處,它僅有助於無故無法防止灰色。

有沒有辦法關閉它?或者我應該堅持像不透明,瀏覽器檢測和着色我的灰色技術...

+0

你在使用打印樣式表嗎? – CamelCamelCamel

+1

我一直認爲黑色是被迫的,因爲空白墨水打印速度快得多,比打印灰色便宜,因爲那需要使用彩色墨水。 – thirtydot

+0

不透明度聽起來像一個偉大的技術 - 如果一切都失敗了,我會訴諸於那個或PDF。 –

回答

28

解決方案:

@media print { 
     h1 { 
     color: rgba(0, 0, 0, 0); 
     text-shadow: 0 0 0 #ccc; 
     } 

     @media print and (-webkit-min-device-pixel-ratio:0) { 
     h1 { 
      color: #ccc; 
      -webkit-print-color-adjust: exact; 
     } 
     } 
    } 
+3

它的工作原理!你是個天才! [這是演示。](http://jsfiddle.net/hDZBt/show/)在IE11,Chrome和Firefox中測試。 –

+0

在Firefox中不起作用。 – Jehy

+0

適用於我的Firefox .. –

3

某些瀏覽器添加更多尊重灰色,如果您添加顏色:替換#777#778。謹防不透明。有時候,即使打印預覽會顯示出很好的結果,它實際上只能在選定的打印機上工作。使用不透明固件的打印機如果灰度不透明,將無法打印文本。

+1

對於那些追隨我的人;我處於這種不透明度降低對我來說完美的情況。我只想顯示其顏色不變的情況下顯示的內容,因此我更改了可以隱藏或變灰的不透明內容。 :) – SoreThumb

6

我發現得:

  1. 添加!important的CSS規則...... 和...

  2. 在Firefox的打印對話框中,勾選爲「外觀選項:打印背景顏色「

我無法在Chrome中使用它。

+0

對不起,不太準確。即使選項1未執行,選項2也可以工作。 –

+0

@GeorgeBailey,這不是我在OSX上看到的這個頁面上的FireFox v24:http://www.awesometimer.com/results/nightingale_nightmare/如果我刪除了「!important」規則,獎盃全部打印爲黑色(獎盃只是fontawesome中的人物)。 –

+1

在我的Firefox中,如果你去文件 - >頁面設置,並選中「打印背景顏色和圖像」框,然後你的獎盃打印灰色。我在Windows 7上使用Firefox 24. –

1

我發現文本顏色不是由「通用」樣式繼承的,但必須在打印CSS文件再次被迫的。

換句話說,即使文字顏色在一般的CSS文件(一個media='all'屬性)設置,在打印時,至少在Firefox和鉻它被忽略。

我發現在打印的css文件(一個具有media='print'屬性)中再次寫入(多餘但是......必需的)文本顏色,現在將考慮顏色。

+1

我想知道爲什麼我無法讓它工作。一個示例頁面會很有趣。 –

2

你只需要在svg中輸出你的灰色字體。瀏覽器不會更改svg中的顏色。這裏有一個例子:

<svg height="40" width="200"> 
    <text font-size="28px" y="25" x="30" fill="#ffffff" > 
    Some text 
    </text> 
</svg> 
0

沒有上面的東西爲我工作,所以我終於想通了。

總是給直接元素的顏色。防爆。假設你的HTML是

<div class='div'><br/> 
     < h1>Text< /h1><br/> 
</div> 

和你的CSS

.div { 
    color: #ccc; 
    } 

這是我的情況。在這種情況下,不管你做什麼顏色都不會顯示。

你要做

.div h1 { 
color: #ccc; 
} 

@media print { 
.div h1 { 
    -webkit-print-color-adjust: exact; 
    } 
} 

希望這可以幫助你!

如果您找到更好的解決方案,請回復,因爲這是我在2小時後可以找到的,並且適用於我。