Estoy intentando imprimir una página. En esa página le he dado a una tabla un color de fondo. Cuando veo la vista previa de impresión en cromo, no toma la propiedad de color de fondo ...
Así que probé esta propiedad:
-webkit-print-color-adjust: exact;
pero todavía no muestra el color.
.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
fuente
fuente
Respuestas:
La propiedad CSS de Chrome
-webkit-print-color-adjust: exact;
funciona correctamente.Sin embargo, asegurarse de tener el CSS correcto para imprimir a menudo puede ser complicado. Se pueden hacer varias cosas para evitar las dificultades que está teniendo. Primero, separe todo su CSS de impresión de su CSS de pantalla. Esto se hace a través de
@media print
y@media screen
.Muchas veces, simplemente configurar un poco de
@media print
CSS adicional no es suficiente porque todavía tiene todos los demás CSS incluidos al imprimir también. En estos casos, solo debe tener en cuenta la especificidad de CSS, ya que las reglas de impresión no ganan automáticamente contra las reglas de CSS sin impresión.En su caso, el
-webkit-print-color-adjust: exact
está funcionando. Sin embargo, susbackground-color
definiciones de color están siendo superadas por otros CSS con mayor especificidad.Si bien no apruebo el uso
!important
en casi ninguna circunstancia, las siguientes definiciones funcionan correctamente y exponen el problema:Aquí está el violín (e incrustado para facilitar la vista previa de la impresión).
fuente
Print preview failed.
mensaje en Chrome v47.0.2526.106Esa propiedad CSS es todo lo que necesita, funciona para mí ... Al obtener una vista previa en Chrome, tiene la opción de verlo BW y Color ( Color: Opciones- Color o Blanco y negro ), así que si no tiene esa opción, entonces Le sugiero que tome esta extensión de Chrome y le facilite la vida:
https://chrome.google.com/webstore/detail/print-background-colors/gjecpgdgnlanljjdacjdeadjkocnnamk?hl=en
El sitio que agregaste en fiddle necesita esto en tu css de impresión de medios (solo tienes que agregarlo ...
CSS de impresión de medios en el cuerpo:
ACTUALIZAR OK, por lo que su problema es bootstrap.css ... tiene un css de impresión de medios tan bien como usted ... elimina eso y eso debería darle color ... necesita hacer lo suyo o quedarse con bootstraps imprimir css.
Cuando hago clic en imprimir en este, veo color ... http://jsfiddle.net/rajkumart08/TbrtD/1/embedded/result/
fuente
@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;}....
necesita agregarlo allí ...Chrome no renderizará el color de fondo, o varios otros estilos, al imprimir si la configuración de gráficos de fondo está desactivada.
Esto no tiene nada que ver con css, @media o especificidad. Probablemente puedas hackearlo, pero la forma más fácil de hacer que Chrome muestre el color de fondo y otros gráficos es marcar correctamente esta casilla de verificación en Más configuraciones.
fuente
Solo necesitaba agregar el
!important
atributo en la etiqueta de color de fondo para que se muestre, no necesitaba la parte del kit web:background-color: #f5f5f5 !important;
fuente
Si está utilizando bootstrap o cualquier otro CSS de terceros, asegúrese de especificar la pantalla de medios solo en él, para que tenga el control del tipo de medio de impresión en sus propios archivos CSS:
fuente
Tu CSS debe ser así:
fuente
PARA LOS QUE UTILIZAN BOOTSTRAP.CSS, ¡esta es la solución!
He intentado todas las soluciones y no funcionaban ... hasta que descubrí que bootstrap.css tenía un súper molesto
@media print
que restablece todos tus colores, colores de fondo, sombras, etc.Entonces, elimine esta sección de bootstrap.css (o bootstrap.min.css)
O anule estos valores en el CSS de la página que desea imprimir en su propio
@media print
fuente
Use lo siguiente en su
@media print
hoja de estilo.Aquí hay un par de cosas a tener en cuenta:
Vea mi violín para una demostración más detallada.
fuente
¿Estás seguro de que este es un problema de CSS? Hay algunas publicaciones en Google sobre este problema: http://productforums.google.com/forum/#!category-topic/chrome/discuss-chrome/eMlLBcKqd2s
Puede estar relacionado con el proceso de impresión. En safari, que también es webkit, hay una casilla de verificación para imprimir imágenes y colores de fondo en el cuadro de diálogo de la impresora.
fuente
Si está utilizando IE, vaya a la vista previa de impresión (haga clic con el botón derecho en el documento -> vista previa de impresión), vaya a la configuración y hay la opción "imprimir color e imágenes de fondo", seleccione esa opción e intente.
fuente
Hay un estilo en los archivos css de bootstrap en @media print {* ,: after,: before ....} que tiene los colores y estilos de fondo etiquetados! Important, que eliminan los colores de fondo de cualquier elemento. Mata esas dos piezas de CSS y funcionará.
Bootstrap está tomando la decisión de ejecutar que nunca debe tener ningún color de fondo en las impresiones, por lo que debe editar su CSS o tener otro estilo importante que tenga mayor prioridad. Buen trabajo bootstrap ...
fuente
Utilicé la respuesta de purgatory101 pero tuve problemas para mantener todos los colores (iconos, fondos, colores de texto, etc.), especialmente porque las hojas de estilo CSS no se pueden usar con bibliotecas que cambian dinámicamente los colores del elemento DOM. Por lo tanto, aquí hay un script que cambia los estilos de los elementos (
background-colour
ycolour
) antes de imprimir y borra los estilos una vez que se realiza la impresión. Es útil evitar escribir mucho CSS en una@media print
hoja de estilo, ya que funciona sea cual sea la estructura de la página.Hay una parte del script especialmente diseñada para mantener el color de los iconos de FontAwesome (o cualquier elemento que use un
:before
selector para insertar contenido de color).JSFiddle mostrando el script en acción
Compatibilidad: funciona en Chrome, no probé otros navegadores.
Y luego modifique la
window.print
función para configurar los estilos antes de imprimirlos y reiniciarlos después.La parte que encuentra rutas de iconos para crear CSS para: antes de los elementos es una copia de esta respuesta SO
fuente
var
dewindow
en su último fragmento de código)También puedes usar la
box-shadow
propiedad.fuente
si está utilizando Bootstrap. solo use este código en su archivo css personalizado. Bootstrap elimina todos sus colores en la vista previa de impresión.
fuente
Si descarga Bootstrap sin la opción "Imprimir estilos de medios", no tendrá este problema y no tendrá que eliminar el código "@media print" manualmente en su archivo bootstrap.css.
fuente
La mejor solución para esto si está usando bootstrap, así que solo haga una cosa, elimine @media print {} todo el código dentro de esto. y habilite gráficos de fondo desde más configuraciones mientras toma la vista previa de impresión.
fuente
Cargué dos veces mi archivo fuente css externo y cambio media = "screen" a media = "print" y se mostraron todos los bordes de mi tabla
Prueba esto :
fuente