0Pricing
HTML Academy · Aula

A abordagem de layout baseado em tabelas

Entenda por que e-mails HTML usam tabelas em vez de divs.

A abordagem de layout baseado em tabelas é uma aula grátis de HTML Academy no CoddyKit. Esta é a aula 1 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de HTML Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de HTML Academy inclui 4 aulas no total.

Por que usar tabelas em e-mails

Os clientes de e-mail — especialmente o Outlook no Windows, que usa o mecanismo de renderização do Microsoft Word — não oferecem suporte a flexbox, grade ou mesmo a um layout confiável baseado em blocos. As tabelas são o único recurso estrutural renderizado de forma consistente em todos os principais clientes de e-mail.

Uma única tabela externa

Todo e-mail responsivo começa com uma <table> externa com largura de 100% que funciona como o corpo do e-mail, seguida por uma tabela interna de largura fixa, geralmente de 600px, que contém o conteúdo propriamente dito. Esse padrão de dois níveis é a base de praticamente todos os modelos usados em produção.

<table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr>
    <td align="center">
      <table width="600" cellpadding="0" cellspacing="0" border="0">
        <tr><td>Content goes here</td></tr>
      </table>
    </td>
  </tr>
</table>

Atributos obrigatórios das tabelas

Sempre inclua cellpadding="0" cellspacing="0" border="0" em todas as tabelas. Sem esses atributos, o Outlook insere espaços inesperados. Adicionar role="presentation" informa aos leitores de tela que devem ignorar a semântica da tabela, o que é correto, pois tabelas de layout não são tabelas de dados.

Tabelas aninhadas para colunas

Para criar várias colunas, aninhe uma tabela com duas células <td> dentro da linha de conteúdo. Cada célula contém uma coluna. Evite div+float — o Outlook ignora float e empilha as colunas verticalmente mesmo assim, prejudicando o design.

600px é a largura padrão

O painel de visualização para desktop usado como padrão de fato tem cerca de 600px de largura. Projetar para essa largura mantém o e-mail confortavelmente visível, sem rolagem horizontal, simultaneamente no Outlook, Gmail para desktop, Apple Mail, Yahoo e Thunderbird.

Empilhamento móvel com consultas de mídia

Para telas pequenas, direcione as células da tabela interna com uma consulta de mídia que defina width como 100% e display como block, fazendo as colunas se empilharem verticalmente. O Mail do iOS e o Gmail para Android respeitam consultas de mídia; o Outlook 365 para desktop as ignora, mas mantém o layout para desktop de 600px.

@media (max-width: 600px) {
  .col {
    display: block !important;
    width: 100% !important;
  }
}

Planos de fundo no nível das células

As cores e imagens de plano de fundo devem ser aplicadas às células <td>, não a divs. O Outlook oferece suporte confiável ao atributo bgcolor em td, enquanto background-color do CSS em uma div pode ser removido ou totalmente ignorado, dependendo do cliente.

VML para planos de fundo do Outlook

O Outlook precisa de Vector Markup Language (VML) para imagens de plano de fundo. Envolva background-image do CSS em comentários condicionais <!--[if mso]>...<![endif]-->, com um fallback v:rect em linha, para que o Outlook renderize a imagem enquanto todos os outros clientes usam o CSS.

Evite CSS moderno

Ignore flexbox, grade, propriedades personalizadas (com suporte limitado) e a maior parte do posicionamento. Limite-se a display: block/inline, larguras fixas por meio de atributos e estilos em linha. O resultado parece antigo segundo os padrões da Web, mas é renderizado de forma idêntica em todas as caixas de entrada.

Cellpadding para espaçamento interno

Use cellpadding (atributo) e um único <td> com preenchimento para o espaço em branco interno. As margens nas células de tabelas não são confiáveis no Outlook; o preenchimento em td é universal. Combine bgcolor e padding no mesmo td para criar componentes de “cartão” sem divs.

Acessibilidade

Adicione role="presentation" a todas as tabelas de layout para que os leitores de tela não anunciem “linha, coluna 1 de 2”. Inclua também texto alternativo em todas as imagens, texto real para qualquer conteúdo (não imagens de texto) e uma ordem clara e hierárquica de títulos.

Verificação de conhecimento

Por que as tabelas — e não divs com flexbox do CSS — são usadas para estruturar e-mails?

Resumo

O layout de e-mail em HTML usa tabelas aninhadas com cellpadding/cellspacing/border zero e role="presentation". Uma tabela externa de 100% centraliza uma tabela interna de 600px; células td aninhadas formam colunas que as consultas de mídia podem empilhar em dispositivos móveis. Evite flexbox e grade, use bgcolor em td e adicione fallbacks VML para planos de fundo no Outlook.

Perguntas Frequentes

A aula “A abordagem de layout baseado em tabelas” é grátis?

Sim — o texto completo de “A abordagem de layout baseado em tabelas” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de HTML Academy, atualize para CoddyKit PRO. O curso de HTML Academy inclui 4 aulas no total.

O que vou aprender em “A abordagem de layout baseado em tabelas”?

Entenda por que e-mails HTML usam tabelas em vez de divs. Você pratica HTML Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar HTML Academy?

Nenhuma experiência prévia é necessária. HTML Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 1 de 4.

Quanto tempo leva a aula “A abordagem de layout baseado em tabelas”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de HTML Academy?

Sim. Cada aula de HTML Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. A abordagem de layout baseado em tabelas
  2. Estilos em linha para e-mail
  3. Tratamento de imagens em clientes de e-mail
  4. Testes com Litmus e Email on Acid
← Voltar para HTML Academy