Saya baru di sini di perusahaan ini dan kami memiliki produk yang menggunakan bermil-mil css. Aku mencoba untuk membuat stylesheet dicetak untuk aplikasi kita tapi aku mengalami masalah dengan background-color
di @media print
.
@media print {
#header{display:none;}
#adwrapper{display:none;}
td {
border-bottom: solid;
border-right: solid;
background-color: #c0c0c0;
}
}
Segala sesuatu yang lain berfungsi, saya dapat mengubah batas dan semacamnya tetapi background-color
tidak akan muncul di cetakan. Sekarang saya mengerti bahwa Anda mungkin tidak dapat menjawab pertanyaan saya tanpa rincian lebih lanjut. Saya hanya ingin tahu apakah ada yang punya masalah ini, atau yang serupa sebelumnya.
css
media-queries
Weston Watson
sumber
sumber
@media print
permintaan yang menghapus warna latar belakang dari tabel (misalnya garis-garis).Jawaban:
JIKA pengguna mematikan "Warna dan gambar Latar Belakang Cetak" dalam pengaturan cetaknya, tidak ada CSS yang akan menimpanya, jadi selalu pertanggungjawabkan untuk itu. Ini adalah pengaturan default .
Setelah itu diatur sehingga akan mencetak warna dan gambar latar belakang, apa yang Anda miliki di sana akan berfungsi.
Itu ditemukan di tempat yang berbeda. Di IE9beta ditemukan di Print-> Page Options di bawah Paper options
Di FireFox ada di Page Setup -> Tab [Format & Opsi] di bawah Opsi.
sumber
*{ color-adjust: exact; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
Untuk mengaktifkan pencetakan latar belakang di Chrome:
sumber
color-adjust
.Mengerti:
CSS:
Bekerja untuk semua kotak - termasuk sel tabel !!!
sumber
-ms-filter: "progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#fffada', endColorstr='#fffada')"; /* IE8 */
Jika Anda ingin gambar sprite Anda terlihat, gunakan teknik img / clip css-tricks.com/css-sprites-with-inline-images , yang akan memberi Anda gambar dalam IE9 dan FF ( bukan IE8)Coba ini, ini berhasil untuk saya di Google Chrome:
sumber
-webkit-print-color-adjust: exact;
sendiriis Not enough
Anda harus menggunakan!important
atribut tersebutini mencetak pratinjau pada chrome setelah saya tambahkan
!important
ke masingbackground-color
- masing dancolor
attrubute di setiap tagdan ini mencetak pratinjau pada chrome sebelum menambahkan
!important
sekarang, untuk mengetahui bagaimana cara
inject
!important
div gaya, lihat jawaban ini saya tidak dapat menyuntikkan gaya dengan aturan "! Penting"sumber
Dua solusi yang berfungsi (setidaknya pada Chrome modern - belum diuji di luar):
sumber
color-adjust
atau varian webkit saya sebenarnya tidak memerlukan aturan penting.Jika Anda ingin membuat halaman "ramah printer", saya sarankan untuk menambahkan "! Important" ke @media print CSS Anda. Ini mendorong sebagian besar browser untuk mencetak gambar latar belakang, warna, dll.
CONTOH:
sumber
Ada trik lain yang dapat Anda lakukan tanpa mengaktifkan opsi batas cetak yang disebutkan dalam posting lain. Karena batas yang dicetak Anda dapat mensimulasikan padat background-warna dengan hack ini:
Aktifkan dengan menambahkan kelas ke elemen Anda:
Meskipun ini membutuhkan beberapa kode tambahan dan perhatian ekstra untuk membuat warna latar belakang terlihat, itu adalah satu-satunya solusi yang diketahui oleh saya.
Perhatikan peretasan ini tidak akan berfungsi pada elemen selain
display: block;
ataudisplay: table-cell;
, jadi misalnya<table class="your-background">
dan<tr class="your-background">
tidak akan berfungsi.Kami menggunakan ini untuk mendapatkan warna latar belakang di semua browser (masih, IE9 + diperlukan).
sumber
Untuk chrome, saya telah menggunakan sesuatu seperti ini dan itu berhasil untuk saya.
Di dalam tag tubuh,
Atau untuk elemen tertentu, katakanlah jika Anda memiliki tabel dan Anda ingin mengisi td yaitu sel,
sumber
Meskipun
!important
penggunaan umumnya disukai, ini adalah kode yang mengganggu dibootstrap.css
mana mencegah baris tabel dicetakbackground-color
.Anggap Anda mencoba menata HTML berikut:
Untuk mengganti CSS ini, tempatkan aturan berikut (lebih spesifik) di stylesheet Anda:
Ini berfungsi karena aturannya lebih spesifik daripada standar bootstrap.
sumber
Menemukan masalah ini, karena saya memiliki masalah serupa ketika mencoba menghasilkan PDF dari output html di Google Apps Script di mana warna latar juga tidak "dicetak".
The
-webkit-print-color-adjust:exact;
dan!important
solusi tentu saja tidak bekerja, tapibox-shadow: inset 0 0 0 1000px gold;
lakukan ... hack besar, terima kasih banyak :)sumber
Saya pikir saya akan menambahkan bantuan relevan terbaru dan 2015 dari pengalaman css cetak baru-baru ini.
Mampu mencetak latar belakang dan warna terlepas dari pengaturan kotak dialog cetak.
Untuk melakukan ini, saya harus menggunakan kombinasi ! Important & -webkit-print-color-adjust: exact! Important untuk mendapatkan latar belakang dan warna untuk dicetak dengan benar.
Juga, ketika mendeklarasikan warna, saya menemukan area yang paling bandel membutuhkan definisi langsung ke target Anda. Sebagai contoh:
Dan CSS Anda:
sumber
Diuji dan Bekerja Chrome, Firefox, Opera dan Edge pada 2016/10. Harus berfungsi di browser apa pun dan harus selalu terlihat seperti yang diharapkan.
Ok, saya melakukan percobaan lintas-browser kecil untuk mencetak warna latar belakang. Cukup salin, tempel & nikmati!
Ini dia halaman HTML yang bisa dicetak penuh untuk bootstrap:
sumber
"Solusi" terbaik yang saya temukan adalah menyediakan tombol atau tautan "Cetak" yang menonjol yang memunculkan kotak dialog kecil yang menjelaskan dengan berani, singkat dan singkat bahwa mereka perlu menyesuaikan pengaturan printer (dengan instruksi titik peluru ABC 123) untuk mengaktifkan latar belakang dan pencetakan gambar. Ini sangat sukses bagi saya.
sumber
Dalam beberapa kasus (blok tanpa konten apa pun, tetapi dengan latar belakang) dapat ditimpa menggunakan batas, secara individual untuk setiap blok.
Sebagai contoh:
sumber
Anda dapat menggunakan tag
canvas
dan "menggambar" latar belakang, yang berfungsi pada IE9, Gecko dan Webkit.sumber
Jika Anda tidak keberatan menggunakan gambar alih-alih warna latar belakang (atau mungkin gambar dengan warna latar belakang Anda) solusi di bawah ini berhasil bagi saya di FireFox, Chrome, dan bahkan IE tanpa wahana tambahan. Atur gambar di suatu tempat di halaman dan sembunyikan sampai pengguna mencetak.
Html pada halaman dengan gambar latar belakang
Css
}
sumber
!important
nilai pada setiap atribut di kelas saya yang kemudian membuatnya berfungsi.Jangan tidak mengatur
background-color
dalam stylesheet cetak. Cukup atur atribut dalam file css normal dan berfungsi dengan baik :)Lihat contoh ini: Template HTML Cetak Utama dengan Header & Footer
Demo: Template HTML Cetak Utama dengan Demo Header & Footer
sumber
Bekerja di Chrome dan Edge
sumber