Impressão no CSS

CSS
Tempo de leitura: 4 minutos

Impressão no CSS: A web não é só para telas. Muitas vezes, o usuário precisa imprimir um artigo, um recibo ou um formulário. Sem estilos de impressão dedicados, o resultado é um desperdício de tinta, quebras de página ruins e menus de navegação inúteis impressos no papel.

O CSS resolve isso com a media query @media print, permitindo que você defina um layout otimizado para o papel, garantindo legibilidade e economia.

Neste artigo, exploraremos as técnicas para transformar sua página em um documento profissional para impressão.

1. O Ponto de Partida: @media print

Todos os estilos de impressão devem ser definidos dentro da regra @media print. O navegador ignora esses estilos na tela, aplicando-os somente quando o usuário abre a caixa de diálogo de impressão.

CSS

/* Este CSS SÓ é aplicado ao imprimir o documento */
@media print {
  /* Regras de estilo para impressão aqui */
}

/* Este CSS é aplicado SOMENTE na tela */
@media screen {
  /* ... */
}

2. Otimização Essencial para Impressão

Ao otimizar para impressão, o foco muda de interatividade para legibilidade e economia.

A. Ocultando Elementos Não Essenciais

O primeiro passo é remover tudo que é irrelevante no papel, como menus, barras laterais, anúncios e footers complexos.

CSS

@media print {
  /* Oculta navegação, botões e barras laterais */
  .navbar, .sidebar, .ad-unit, button, a[href*="mailto"], 
  .no-print {
    display: none;
  }

  /* Garante que o conteúdo principal use a largura total */
  .main-content {
    width: 100%;
    margin: 0;
    float: none; 
  }
}

B. Otimização de Tipografia e Cor

Priorize o texto em preto sobre fundo branco para máxima legibilidade e economia de tinta.

OtimizaçãoPropriedadeExemplo
Cor do TextoGaranta que o texto seja escuro (preto).color: #000 !important;
FundoRemova cores de fundo ou imagens complexas.background: none !important;
FonteUse fontes de leitura fácil no papel (serifadas são clássicas).font-family: 'Times New Roman', serif;
TamanhoUse unidades absolutas para o papel.font-size: 12pt;

3. Controle de Paginação e Margens

Ao contrário da tela, o papel tem dimensões fixas. O CSS oferece propriedades para controlar como o conteúdo é dividido entre as páginas.

A. Configuração Global da Página (@page)

A regra @page permite definir margens globais para o documento impresso.

CSS

@media print {
  @page {
    /* Define margens de 2cm para todas as páginas */
    margin: 2cm; 
  }
}

B. Controle de Quebras de Página

As propriedades break-* substituem as antigas page-break-* e controlam a divisão do conteúdo.

PropriedadeFunçãoExemplo
break-beforeForça uma nova página antes de um elemento (ex: um novo capítulo).h2 { break-before: page; }
break-afterForça uma nova página depois de um elemento.p.chapter-end { break-after: page; }
break-insideImpede que o conteúdo seja dividido por uma quebra de página.figure, blockquote { break-inside: avoid; }

C. URLs em Linha

Uma boa prática é fazer com que os links se tornem visíveis, adicionando o endereço URL ao lado do texto.

CSS

@media print {
  a[href]:after {
    /* Mostra o atributo href do link entre parênteses */
    content: " (" attr(href) ")";
  }
  /* Evita mostrar URLs de links de navegação interna (#) */
  a[href^="#"]:after {
    content: "";
  }
}

✅ Conclusão Impressão no CSS

A otimização para impressão não é um detalhe; é uma questão de usabilidade e acessibilidade. Ao utilizar a media query @media print e as propriedades de controle de paginação (como break-inside: avoid;), você pode garantir que seu conteúdo web seja transformado em um documento impresso limpo, legível e profissional. Testar o resultado através da pré-visualização de impressão do navegador é sempre o passo final crucial.

Toda jornada tem um início, e o início para se tornar um desenvolvedor web é dominar as seguintes tecnologias, que você encontra aqui mesmo:

HTML
HTML
CSS
CSS
Javascript
JavaScript

E se você gosta do nosso conteúdo, não deixe de contribuir adquirindo os serviços e produtos dos nossos apoiadores e empresas que somos associados:

Hospedagem Hostinger
Ofertas Amazon
Amazon Prime
Author: Thiago Rossi
Com mais de 20 anos de jornada na tecnologia, minha trajetória evoluiu do ensino técnico à arquitetura de sistemas complexos. Hoje, foco minha expertise no desenvolvimento de soluções de Inteligência Artificial nativa e análise de dados públicos, utilizando o ecossistema PHP para transformar dados brutos em transparência e eficiência. Como autor e desenvolvedor, acredito na democratização do conhecimento. Essa visão resultou em uma biblioteca de mais de 530 artigos gratuitos, cobrindo desde a base do WebDev e Infraestrutura até os bastidores da indústria de Jogos e IA. No universo de Game Design, sou autor do livro "GDD – O Guia Definitivo" e documento ativamente meus processos através de DevLogs, unindo rigor técnico e criatividade em projetos desenvolvidos com GDevelop 5. Meu compromisso é conectar engenharia de ponta com as reais oportunidades do mercado de tecnologia.