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
- A abordagem de layout baseado em tabelas
- Estilos em linha para e-mail
- Tratamento de imagens em clientes de e-mail
- Testes com Litmus e Email on Acid