<table>: Elemento TABLE
Última atualização: 2026-10-13
<table>Elemento TABLE
O elemento <table> exibe dados em forma de tabela. Consiste em linhas (<tr>) e células (<td>/<th>), frequentemente com <thead>/<tbody>/<caption>.
| Categoria | Tabelas |
|---|---|
| Modelo de Conteúdo | Opcional <caption>, zero+ <colgroup>, zero+ <thead>/<tbody>/<tfoot>, <tr> |
| Pais Permitidos | Qualquer elemento que aceite conteúdo de fluxo |
| Tag de Fechamento | Sim — requer fechamento </table> tag |
| Status | Padrão |
📝 Sintaxe
<table>
<tr>
<th>Cabeçalho</th>
<td>Dados</td>
</tr>
</table>
▶ Exemplo
Edite o código abaixo e veja o resultado em tempo real no playground:
🌐 Suporte de Navegadores
| Navegador | |||||
|---|---|---|---|---|---|
| <table> | ✓ v1 | ✓ v12 | ✓ v1 | ✓ v1 | ✓ v1 |
| Suportado em todos os navegadores principais | |||||
Aviso: Não use tabelas para layout de página (nav, sidebar) — isso é trabalho do CSS. Tabelas são apenas para dados tabulares.
❓ Perguntas Frequentes
Qtable ainda serve para layout de página?
ANão, é uma prática abandonada há mais de uma década — layout em tabela prejudica acessibilidade, adaptação mobile e semântica. Tabelas servem apenas para dados bidimensionais de verdade (boletim de notas, lista de preços, quadro comparativo). O layout fica com Flexbox e Grid.
QAs linhas de table precisam ficar dentro de tbody?
ANão é obrigatório — omitindo o tbody, o parser do navegador embrulha as
<tr> num tbody implícito (ele sempre existe no DOM). Vantagem de escrever tbody explicitamente: dá para estilizá-lo isoladamente e usar recursos avançados com thead/tfoot, como cabeçalho congelado.QComo fazer tabelas responsivas?
ATabelas sofrem em telas estreitas por natureza; soluções comuns: contêiner externo com
overflow-x: auto e rolagem horizontal (o mais simples); transformar linhas em cartões em telas estreitas (display: block + data-label); congelar a primeira coluna. Acima de 5 colunas, prefira a rolagem horizontal.