Próbuję wydrukować stronę. Na tej stronie nadałem tabeli kolor tła. Gdy przeglądam podgląd wydruku w chromie, nie przyjmuje właściwości koloru tła ...
Więc wypróbowałem tę właściwość:
-webkit-print-color-adjust: exact;
ale nadal nie pokazuje koloru.
.vendorListHeading {
background-color: #1a4567;
color: white;
-webkit-print-color-adjust: exact;
}
<div class="bs-docs-example" id="soTable" style="padding-top: 10px;">
<table class="table" style="margin-bottom: 0px;">
<thead>
<tr class="vendorListHeading" style="">
<th>Date</th>
<th>PO Number</th>
<th>Term</th>
<th>Tax</th>
<th>Quote Number</th>
<th>Status</th>
<th>Account Mgr</th>
<th>Shipping Method</th>
<th>Shipping Account</th>
<th style="width: 184px;">QA</th>
<th id="referenceSO">Reference</th>
<th id="referenceSO" style="width: 146px;">End-User Name</th>
<th id="referenceSO" style="width: 118px;">End-User's PO</th>
<th id="referenceSO" style="width: 148px;">Tracking Number</th>
</tr>
</thead>
<tbody>
<tr class="">
<td>22</td>
<td>20130000</td>
<td>Jim B.</td>
<td>22</td>
<td>510 xxx yyyy</td>
<td>[email protected]</td>
<td>PDF</td>
<td>12/23/2012</td>
<td>Approved</td>
<td>PDF</td>
<td id="referenceSO">12/23/2012</td>
<td id="referenceSO">Approved</td>
</tr>
</tbody>
</table>
</div>
google-chrome
css
printing
webkit
ghost_dad
źródło
źródło
Odpowiedzi:
Właściwość Chrome CSS
-webkit-print-color-adjust: exact;
działa poprawnie.Jednak upewnienie się, że masz poprawny CSS do drukowania, może być często trudne. Można zrobić kilka rzeczy, aby uniknąć trudności. Najpierw oddziel wszystkie CSS wydruku od CSS ekranu. Odbywa się to za pomocą
@media print
i@media screen
.Często samo skonfigurowanie dodatkowego
@media print
CSS nie wystarcza, ponieważ podczas drukowania nadal masz wszystkie inne CSS. W takich przypadkach musisz tylko znać specyfikę CSS, ponieważ reguły drukowania nie wygrywają automatycznie z regułami CSS niezwiązanymi z drukowaniem.W twoim przypadku
-webkit-print-color-adjust: exact
działa. Jednak twojebackground-color
definicje i kolory są pobijane przez inne CSS o większej specyficzności.Chociaż nie popieram używania
!important
w prawie żadnych okolicznościach, następujące definicje działają poprawnie i ujawniają problem:Oto skrzypce (i osadzone dla ułatwienia podglądu wydruku).
źródło
Print preview failed.
wiadomość w Chrome v47.0.2526.106Ta właściwość CSS jest wszystkim, czego potrzebujesz, działa dla mnie ... Podczas podglądu w Chrome możesz zobaczyć BW i kolor ( Kolor: Opcje - Kolor lub Czarno-biały ), więc jeśli nie masz tej opcji, to Sugeruję, aby pobrać to rozszerzenie Chrome i ułatwić Ci życie:
https://chrome.google.com/webstore/detail/print-background-colours/gjecpgdgnlanljjdacjdeadjkocnnamk?hl=pl
Witryna, którą dodałeś do skrzypiec, potrzebuje tego w css media print (musisz to tylko dodać ...
media drukuj CSS w treści:
AKTUALIZACJA OK, więc twój problem to bootstrap.css ... ma css z mediami, tak jak ty ... usuwasz to i powinno to dać ci kolor ... musisz zrobić to sam lub trzymać się bootstraps print css.
Po kliknięciu opcji Drukuj na tym widzę kolor .... http://jsfiddle.net/rajkumart08/TbrtD/1/embedded/result/
źródło
@media print { body {margin:0; padding:0; line-height: 1.4em; word-spacing:1px; letter-spacing:0.2px; font: 12px Arial, Helvetica,"Lucida Grande", serif; color: #000;}....
musisz go tam dodać ...Chrome nie będzie renderować koloru tła ani kilku innych stylów podczas drukowania, jeśli ustawienie grafiki w tle jest wyłączone.
Nie ma to nic wspólnego z css, @media ani specyfiką. Prawdopodobnie możesz się zhakować, ale najłatwiejszym sposobem, aby chrom pokazał kolor tła i inną grafikę, jest odpowiednie zaznaczenie tego pola wyboru w sekcji Więcej ustawień.
źródło
Musiałem tylko dodać
!important
atrybut do znacznika koloru tła, aby się pojawił, nie potrzebowałem części webkit:background-color: #f5f5f5 !important;
źródło
Jeśli używasz bootstrap lub innego CSS innej firmy, upewnij się, że określasz tylko ekran multimediów, aby mieć kontrolę nad typem nośnika wydruku we własnych plikach CSS:
źródło
Twój CSS musi wyglądać tak:
źródło
DLA TYCH ZA POMOCĄ BOOTSTRAP.CSS, to jest poprawka!
Wypróbowałem wszystkie rozwiązania i one nie działały ... dopóki nie odkryłem, że bootstrap.css ma bardzo irytujące,
@media print
które resetuje wszystkie kolory, kolory tła, cienie itp.Więc albo usuń tę sekcję z bootstrap.css (lub bootstrap.min.css)
Lub zastąp te wartości w css strony, którą chcesz wydrukować na swoim
@media print
źródło
Wykorzystaj następujące elementy w swoim
@media print
arkuszu stylów.Oto kilka rzeczy, na które należy zwrócić uwagę:
Zobacz moje skrzypce, aby uzyskać bardziej szczegółową demonstrację.
źródło
Czy na pewno jest to problem z css? W Google jest kilka postów na ten temat: http://productforums.google.com/forum/#!category-topic/chrome/discuss-chrome/eMlLBcKqd2s
Może to być związane z procesem drukowania. Na safari, które jest również pakietem internetowym, w oknie dialogowym drukarki znajduje się pole wyboru do drukowania obrazów i kolorów tła.
źródło
Jeśli korzystasz z IE, przejdź do podglądu wydruku (kliknij prawym przyciskiem myszy dokument -> podgląd wydruku), przejdź do ustawień i jest dostępna opcja „wydrukuj kolor tła i obrazy”, wybierz tę opcję i spróbuj.
źródło
W plikach css bootstrap znajduje się styl pod @media print {* ,: after,: before ....}, który ma style kolorów i tła oznaczone! Ważne, które usuwają kolory tła z dowolnych elementów. Zabij te dwa kawałki css, a to zadziała.
Bootstrap podejmuje decyzję, że nigdy nie powinieneś mieć żadnego koloru tła na wydrukach, więc musisz edytować ich css lub mieć inny! Ważny styl, który ma wyższy priorytet. Dobra robota bootstrap ...
źródło
Użyłem odpowiedzi purgatory101, ale miałem problem z zachowaniem wszystkich kolorów (ikon, tła, kolorów tekstu itp.), Szczególnie, że arkuszy stylów CSS nie można używać z bibliotekami, które dynamicznie zmieniają kolory elementu DOM. Dlatego oto skrypt, który zmienia style elementu (
background-colour
icolour
) przed drukowaniem i czyści style po zakończeniu drukowania. Przydatne jest unikanie pisania dużej ilości CSS w@media print
arkuszu stylów, ponieważ działa on niezależnie od struktury strony.Istnieje część skryptu, która została stworzona specjalnie w celu utrzymania koloru ikon FontAwesome (lub dowolnego elementu, który używa
:before
selektora do wstawiania kolorowej zawartości).JSFiddle pokazujący skrypt w akcji
Kompatybilność: działa w Chrome, nie testowałem innych przeglądarek.
A następnie zmodyfikuj
window.print
funkcję, aby ustawić style przed wydrukowaniem i zresetować po.Część, która znajduje ścieżki ikon do utworzenia CSS: przed elementami jest kopią tej odpowiedzi SO
źródło
var
zwindow
ostatniego fragmentu kodu)Możesz także skorzystać z
box-shadow
właściwości.źródło
jeśli używasz Bootstrap. po prostu użyj tego kodu w swoim niestandardowym pliku css. Bootstrap usuwa wszystkie kolory w podglądzie wydruku.
źródło
Jeśli pobierzesz Bootstrap bez opcji „Style nośnika wydruku”, nie będziesz mieć tego problemu i nie będziesz musiał ręcznie usuwać kodu „@media print” w pliku bootstrap.css.
źródło
Najlepsze rozwiązanie, jeśli używasz bootstrap, więc po prostu usuń @media print {} cały kod z tego kodu. i włącz więcej opcji grafiki w tle podczas wykonywania podglądu wydruku.
źródło
Podwójnie ładuję zewnętrzny plik źródłowy css i zmieniam media = "screen" na media = "print", a wszystkie obramowania mojej tabeli zostały pokazane
Spróbuj tego :
źródło