Esta pergunta foi feita antes, mas a solução não é aplicável no meu caso. Quero ter certeza de que certas imagens de fundo são impressas porque são parte integrante da página. (Eles não são imagens diretamente na página porque há vários deles sendo usados como sprites CSS.)
Outra solução para a mesma questão sugere o uso list-style-image
, que só funciona se você tiver uma imagem diferente para cada ícone, sem CSS sprites possíveis.
Além de criar uma página separada com os ícones embutidos, existe outra solução?
fonte
Os navegadores, por padrão, têm a opção de imprimir cores de fundo e imagens desativadas. Você pode adicionar algumas linhas em CSS para contornar isso. Basta adicionar:
fonte
!important
necessário?color-adjust
infelizmente, não é compatível com o FireFox. Parece se aplicar apenas ao plano de fundo, não àcolor
propriedade css. É relatado como um bug , sem muita atividade ou votos. Manter o fundo é inútil se a cor da fonte não for preservada, tornando-a ilegível.Encontrei uma maneira de imprimir a imagem de fundo com CSS. Depende um pouco de como seu plano de fundo está disposto, mas parece funcionar para meu aplicativo.
Essencialmente, você adiciona o
@media print
ao final de sua folha de estilo e altera ligeiramente o fundo do corpo.Exemplo, se o seu CSS atual for assim:
No final da folha de estilo, você adiciona:
Isso adiciona a imagem ao corpo como uma imagem de "primeiro plano", tornando-a imprimível. Você pode precisar adicionar algum CSS adicional para fazer o
z-index
apropriado. Mas, novamente, depende de como sua página é apresentada.Isso funcionou para mim quando eu não conseguia fazer uma imagem de cabeçalho aparecer na visualização de impressão.
fonte
<img>
(para RWD) por um diferente para@media print
. A imagem da web estava em um fundo escuro, portanto, imprimir essa imagem não funcionava em papel branco e eu não queria forçar os usuários a imprimir um fundo escuro no cabeçalho. Perfeito!O código abaixo funciona bem para mim (pelo menos para o Chrome).
Também adicionei alguns controles de margem e orientação de página. (Retrato, paisagem)
fonte
Certifique-se de usar o atributo! Important. Isso aumenta drasticamente a probabilidade de seus estilos serem mantidos quando impressos.
fonte
Como @ ckpepper02 disse, a opção body content: url funciona bem. No entanto, descobri que, se você modificá-lo um pouco, poderá apenas usá-lo para adicionar uma imagem de cabeçalho usando o pseudo elemento: before, como segue.
Isso deslizará a imagem no topo da página e, pelo meu teste limitado, funciona no Chrome e no IE9
-hanz
fonte
Use elementos psuedo. Embora muitos navegadores ignorem as imagens de fundo, os elementos psuedo com seu conteúdo definido como uma imagem NÃO são tecnicamente imagens de fundo. Você pode então posicionar a imagem de fundo aproximadamente onde a imagem deveria ter ido (embora não seja tão fácil ou preciso quanto a imagem original).
Uma desvantagem é que, para que isso funcione no Chrome, você precisa especificar esse comportamento fora da consulta de mídia de impressão e torná-lo visível no bloco de consulta de mídia de impressão. Então, algo assim ...
A desvantagem é que a imagem geralmente será baixada em carregamentos de página normais, adicionando volume desnecessário. Você pode evitar isso usando apenas a mesma imagem / caminho que já usou para a imagem visível original.
fonte
está funcionando no google chrome quando você adiciona! atributo importante à imagem de plano de fundo, certifique-se de adicionar o atributo primeiro e tente novamente, você pode fazer assim
}
fonte
Você pode usar bordas para cores fixas.
e para o fundo gradiente você pode usar:
fonte
https://gist.github.com/danomanion/6175687 propõe uma solução elegante, usando um marcador personalizado no lugar de uma imagem de fundo:
Incluindo isso em um
bloco, sou capaz de substituir um logotipo branco sobre transparente na tela, renderizado como uma imagem de fundo, por um logotipo preto sobre transparente para impressão.
fonte
Você pode fazer alguns truques como este:
No corpo da tag:
fonte