To pytanie zadawano już wcześniej, ale w moim przypadku rozwiązanie nie ma zastosowania. Chcę się upewnić, że określone obrazy tła są drukowane, ponieważ stanowią integralną część strony. (Nie są to obrazy bezpośrednio na stronie, ponieważ kilka z nich jest używanych jako sprite'y CSS).
Inne rozwiązanie tego samego pytania sugeruje użycie list-style-image
, które działa tylko wtedy, gdy masz inny obraz dla każdej ikony, a sprite'y CSS nie są możliwe.
Oprócz stworzenia osobnej strony z wbudowanymi ikonami, czy jest inne rozwiązanie?
źródło
Przeglądarki mają domyślnie wyłączoną opcję drukowania kolorów tła i obrazów. Możesz dodać kilka linii w CSS, aby to ominąć. Poprostu dodaj:
źródło
!important
konieczne?color-adjust
nie jest niestety poprawnie obsługiwany przez FireFox. Wydaje się, że dotyczy tylko tła, a niecolor
właściwości css. Jest zgłaszany jako błąd , bez dużej aktywności lub głosów. Utrzymywanie tła jest zupełnie bezużyteczne, jeśli kolor czcionki nie jest zachowany, co powoduje, że jest nieczytelny.Znalazłem sposób na wydrukowanie obrazu tła za pomocą CSS. To trochę zależy od tego, jak układasz tło, ale wydaje się, że działa w mojej aplikacji.
Zasadniczo dodajesz na
@media print
końcu swojego arkusza stylów i nieznacznie zmieniasz tło treści.Na przykład, jeśli twój obecny CSS wygląda tak:
Na końcu arkusza stylów dodajesz:
To dodaje obraz do treści jako obraz „pierwszego planu”, dzięki czemu można go wydrukować. Być może będziesz musiał dodać kilka dodatkowych CSS, aby zrobić
z-index
właściwy. Ale znowu, od tego, jak jest ułożona Twoja strona.To zadziałało, gdy nie mogłem wyświetlić obrazu nagłówka w widoku wydruku.
źródło
<img>
(dla RWD) na inny dla@media print
. Obraz internetowy był na ciemnym tle, więc drukowanie tego obrazu nie działało na białym papierze i nie chciałem zmuszać użytkowników do drukowania ciemnego tła w nagłówku. Idealny!Poniższy kod działa dobrze dla mnie (przynajmniej dla Chrome).
Dodałem również pewne kontrolki marginesów i orientacji strony. (Pionowa, pozioma)
źródło
Upewnij się, że używasz! Important atrybutu. To znacznie zwiększa prawdopodobieństwo zachowania stylów po wydrukowaniu.
źródło
Jak powiedział @ ckpepper02, opcja body content: url działa dobrze. Zauważyłem jednak, że jeśli nieznacznie go zmodyfikujesz, możesz po prostu użyć go do dodania obrazu nagłówka sortów za pomocą pseudoelementu: before, jak poniżej.
Spowoduje to wyślizgnięcie się obrazu na górę strony, a po moich ograniczonych testach działa w Chrome i IE9
-hanz
źródło
Użyj pseudo-elementów. Podczas gdy wiele przeglądarek ignoruje obrazy tła, pseudo-elementy z zawartością ustawioną na obraz technicznie NIE są obrazami tła. Następnie możesz ustawić obraz tła mniej więcej w miejscu, w którym powinien się znaleźć (chociaż nie jest to tak łatwe ani precyzyjne jak oryginalny obraz).
Jedną z wad jest to, że aby to działało w Chrome, musisz określić to zachowanie poza zapytaniem o media drukowane, a następnie pokazać je w bloku zapytania o media drukowane. Więc coś takiego ...
Wadą jest to, że obraz jest często pobierany podczas normalnego ładowania strony, co powoduje niepotrzebne ładowanie. Możesz tego uniknąć, używając tego samego obrazu / ścieżki, którego używałeś do oryginalnego, widocznego obrazu.
źródło
działa w Google Chrome po dodaniu! ważny atrybut do obrazu tła upewnij się, że najpierw dodajesz atrybut i spróbuj ponownie, możesz to zrobić w ten sposób
}
źródło
Możesz użyć obramowań dla stałych kolorów.
a dla tła gradientowego możesz użyć:
źródło
https://gist.github.com/danomanion/6175687 proponuje eleganckie rozwiązanie, wykorzystując niestandardowy punktor zamiast obrazu tła:
Włączając to w
blok, jestem w stanie zamienić białe na przezroczystym logo na ekranie, renderowane jako obraz tła, czarnym na przezroczystym logo do druku.
źródło
Możesz zrobić kilka takich sztuczek:
W tagu ciała:
źródło