2011-09-30 5 views
24

Có cách nào để đảm bảo rằng các màu phông chữ xám của tôi không chuyển sang màu đen?In màu phông chữ màu xám

Firefox và Chrome dường như thực hiện việc này để ngăn văn bản màu trắng trên nền đen biến thành màu trắng trên nền trắng. Tôi không có màu nền (trừ màu trắng), do đó, chuyển đổi cấp trình duyệt này không hữu ích, nó chỉ giúp ngăn ngừa màu xám mà không có lý do gì.

Có cách nào để tắt tính năng này không? Hoặc tôi chỉ nên gắn với các kỹ thuật như độ mờ đục, phát hiện trình duyệt và tô màu xám của tôi ...

+0

bạn đang sử dụng biểu định kiểu in? – CamelCamelCamel

+1

Tôi luôn luôn nghĩ rằng màu đen đã bị buộc bởi vì mực in trống nhanh hơn nhiều và rẻ hơn so với in màu xám, bởi vì điều đó đòi hỏi phải sử dụng mực màu. – thirtydot

+0

Opacity âm thanh như một kỹ thuật tuyệt vời - nếu tất cả đều thất bại, tôi sẽ nghỉ mát đó hoặc PDF. –

Trả lời

28

Giải pháp:

@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

Nó hoạt động! Bạn là một thiên tài! [Đây là một cuộc biểu tình.] (Http://jsfiddle.net/hDZBt/show/) Được thử nghiệm trong IE11, Chrome và Firefox. –

+0

Không hoạt động trong firefox. – Jehy

+0

Làm việc cho tôi trong Firefox .. –

3

Một số trình duyệt thêm kính trọng hơn nếu bạn thêm màu: Thay thế #777 bằng #778. Hãy cảnh giác với độ mờ đục. Đôi khi, ngay cả khi bản xem trước bản in sẽ hiển thị kết quả tuyệt vời, nó chỉ thực sự hoạt động trên các máy in được chọn. Máy in có phần mềm không may mắn sẽ không in được văn bản của bạn nếu nó có màu xám khi sử dụng độ mờ.

+1

Đối với những người đến sau tôi; Tôi đang ở trong tình huống mà dự phòng độ mờ đục này hoàn hảo đối với tôi. Tôi muốn một cái gì đó để hiển thị chỉ khi màu sắc của nó là không thay đổi, vì vậy tôi thay đổi mà có thể được ẩn hoặc màu xám với độ mờ đục. :) – SoreThumb

6

tôi thấy phải:

  1. Thêm !important cho quy tắc css ... và ...

  2. Trong hộp thoại in Firefox, đánh dấu vào tùy chọn cho "Appearance : Màu nền in "

Tôi không thể làm cho nó hoạt động trong Chrome.

+0

Xin lỗi, không hoàn toàn chính xác. Tùy chọn 2 hoạt động ngay cả khi Tùy chọn 1 không được thực hiện. –

+0

@GeorgeBailey, đó không phải là những gì tôi thấy trong FireFox v24 trên OSX cho trang này: http://www.awesometimer.com/results/nightingale_nightmare/ nếu tôi loại bỏ quy tắc "! Quan trọng", tất cả các danh hiệu đều được in màu đen (các danh hiệu đơn giản là nhân vật trong fontawesome). –

+1

Trong Firefox của tôi, nếu bạn vào File-> Page Setup, và chọn hộp "Print Background Colors & Images", sau đó danh hiệu của bạn in màu xám. Tôi đang sử dụng Firefox 24 trên Windows 7. –

1

tôi thấy rằng màu TEXT không được thừa kế bởi "chung mục đích" stylesheet, nhưng phải được buộc lại trong tập tin in css.

Nói cách khác, ngay cả khi màu văn bản được đặt trong tệp css chung (có thuộc tính media='all'), nó bị bỏ qua khi được in, ít nhất là trong Firefox và Chrome.

Tôi thấy rằng viết lại văn bản (dư thừa nhưng ..... cần thiết) trong tệp css in (một với thuộc tính media='print'), màu bây giờ sẽ được xem xét.

+1

Tôi tự hỏi tại sao tôi không thể làm điều đó. Một trang ví dụ sẽ rất thú vị để xem xét. –

2

Bạn chỉ cần xuất phông chữ xám của mình bằng svg. Trình duyệt không thay đổi màu sắc trong svg. Dưới đây là ví dụ:

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

Không có điều gì ở trên phù hợp với tôi vì vậy cuối cùng tôi đã tìm ra.

Luôn cung cấp màu cho các phần tử trực tiếp. Ví dụ Giả sử html của bạn là

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

và CSS của bạn

.div { 
    color: #ccc; 
    } 

Đây là trường hợp của tôi. Trong trường hợp này không có vấn đề gì bạn làm màu sắc sẽ không hiển thị.

Bạn phải làm

.div h1 { 
color: #ccc; 
} 

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

Hy vọng điều này sẽ giúp bạn !!

Vui lòng trả lời nếu bạn tìm thấy giải pháp tốt hơn vì đây là những gì tôi có thể tìm thấy sau 2 giờ và nó hoạt động cho tôi.