desenv-web-rp.com

Firefox: Evite dividir imagens e linhas de texto ao imprimir

Ao imprimir do Firefox (em qualquer sistema operacional, eu acho), o navegador divide imagens e às vezes até linhas de texto através de quebras de página - a parte superior de uma imagem aparece na parte inferior da página n, e o resto aparece no topo da página n + 1.

Existe alguma maneira de obter o Firefox para manter as imagens em páginas individuais durante a impressão?

8
kpozin

De CSS Discutir Incutio

TLDR: quebras de página são mal suportado pelos navegadores (provavelmente com razão), por isso é principalmente por conta do projetista página para lidar com isso. Para o resto há pouco que você pode fazer, exceto para cópia colando-lo para um documento talvez. E C-Net concorda.

breaks página

Desde as "margens de impressão" não estão sob seu controle como autor da Web, você não pode garantir quanto de um documento da Web será impresso em cada página e, portanto, onde as quebras de página será. Ele irá variar de acordo com o navegador do usuário, configurações do navegador e impressora. E tamanho da fonte base do usuário e tamanho dos artigos de papelaria também estão fora de seu controle. Você vai querer usar CSS à influência (não controle) a posição de quebras de página. CSS2.1 Capítulo 13 paginada mídia é leitura essencial. Note-se que, neste capítulo, CSS2.1 cai algumas características em CSS2 que os navegadores nunca implementado.

Suporte para as propriedades de quebra de página (como page-break-inside) é pobre, mesmo nos navegadores mais recentes, o principal ser exceção Opera (Ópera 5 em diante), cujo apoio é muito bom:

Pior, os navegadores possam quebrar-se páginas em locais claramente inaceitáveis ​​(ver também o próximo parágrafo). Por exemplo, eu encontrei casos em que os navegadores vai quebrar uma imagem entre páginas. Testando em meus vários locais sugere que a manipulação page-break do Opera, embora não perfeita, é nitidamente mais robusta do que a de Firefox ou IE.

O artigo de Eric (veja abaixo) menciona um bug no Gecko (Mozilla) baseados em navegadores sobre a impressão dos elementos flutuantes. Este bug aparentemente ainda tem de ser fixo [Em Julho de 2009] resultam em elementos flutuantes sendo picado no final do impresso página e às vezes em apenas uma página de um documento a ser impresso [Nota 2]. Eu encontrei um problema-cortar flutuador semelhante com versões mais antigas do Opera (por exemplo O7.21). Um bug diferente tem sido relatada em IE onde, Se a parte superior de um elemento flutuado coincide com uma quebra de página, o elemento flutuado não imprime em tudo [reconhecimento: Rennan Rieke].

estratégia sugerida para quebras de página

A melhor política (certamente, até navegadores melhorar) é dar-lhes uma pausa (ha!), Permitindo-lhes o máximo de discrição como você pode em sua escolha de pontos de quebra. Eles têm problemas particulares com elementos de lado-a-lado, tal como posicionada <div>S; flutua; e mesas com duas ou mais colunas. Por conseguinte, as estratégias adequados incluem fazer posicionado <div>S estática; flutuadores unfloating; e quebrando tabelas usadas para layout em uma série de tabelas mais curtos [Nota 1]. Mesmo que as propriedades de quebra de página são mal apoiado, não o excesso de constranger os navegadores: use o valor "evitar" com como um toque leve que puder.

Navegadores realmente não gosto de carros alegóricos quando se trata de impressão (consulte a secção anterior). A solução consiste em elementos flutuantes (unfloat flutuador: nenhum e talvez largura: auto bem). Se você fizer o risco de ter um elemento flutuado durante a impressão, pode imprimir entre uma quebra de página (o topo de um elemento flutuado está ancorado à linha atual). Dependendo da natureza do material flutuou, este pode ser um comportamento aceitável. Se não, única Opera lhe permitirá suprimir tal divisão.

Se você deve ter algum conteúdo impresso em apenas uma página, por exemplo, um formulário, a sua melhor chance é para torná-lo significativamente menos do que uma página, para que você tenha uma margem boa (sic) de erro. Em relação ao tamanho dos artigos de papelaria, que você pode optar por assumir o (ISO) tamanho padrão internacional A4 (para um público internacional) ou o tamanho Carta EUA (para um público exclusivamente EUA), embora não há nenhuma garantia de que os usuários de tamanho está usando. Mas pergunte a si mesmo como você responderia se tinha produzido um formulário de uma página usando um processador de texto e um usuário que foi a visão-prejudicados pediu uma versão em letras grandes. Como sempre com Web design e CSS, a vida será muito mais simples se você não tentar lutar com o usuário, insistindo na perfeição do pixel ou quebras de página garantidos. design fluido aplica em papel, bem como na tela.

5
Ivo Flipse