Bordas de tabela HTML
Uma tabela sem linhas é legível; as bordas tornam a grade óbvia de relance. A lição anterior fixou a estrutura com table, tr, th e td. Esta sessão adiciona a aparência: em HTML moderno você desenha bordas com CSS, não só com o antigo atributo apresentacional border em <table>. A estrutura fica no HTML; linhas, espaçamento e cor pertencem a regras de estilo. Pense nas bordas como óculos para a grade — ajudam os olhos a acompanhar as células sem mudar o significado dos dados.
Por que CSS em vez do atributo antigo
Os navegadores aceitavam <table border="1"> como truque didático rápido. Esse atributo está obsoleto para páginas modernas sérias e quase não controla cor, espessura ou quais lados aparecem. O CSS permite definir largura, estilo e cor separadamente, compartilhar uma regra entre muitas células e combinar bordas com padding e border-collapse. Aprender bordas via CSS também combina com como você vai estilizar títulos, listas e layout depois, então páginas de prática ficam alinhadas a projetos reais.
Resposta direta
Estilize table, th e td com a propriedade CSS border. Use border-collapse: collapse na tabela para que bordas adjacentes se fundam numa única linha limpa de grade em vez de uma borda dupla grossa. Coloque regras num atributo style para demos minúsculas ou — melhor para reutilizar — num bloco <style> ou folha de estilos com uma classe. Mantenha a marcação tr/th/td semântica; só a aparência vai para o CSS. Se um tutorial ainda começa só com border="1", trate como nota de museu e traduza a ideia para CSS.
Bordas CSS versus marcação obsoleta
📊 Presenting table lines today
| Approach | Beginner verdict | Why |
|---|---|---|
CSS border em th/td (+ collapse) |
Preferir | Flexível, reutilizável, moderno |
Só <table border="1"> |
Evitar em trabalho novo | HTML apresentacional obsoleto |
| Bordas com padding zero | Corrigir com padding | Texto colado nas linhas é difícil de ler |
| Bordas separadas sem collapse | Experimento opcional | Mostra por que collapse fica mais limpo |
Bordas nas células (prática inline)
Estilos inline servem enquanto você experimenta numa tabela pequena. Collapse primeiro; depois dê a cada célula de cabeçalho e de dados uma borda solid fina e um pouco de padding.
Borders on cells
html<table style="border-collapse: collapse;">
<tr>
<th style="border: 1px solid #333; padding: 6px;">City</th>
<th style="border: 1px solid #333; padding: 6px;">Code</th>
</tr>
<tr>
<td style="border: 1px solid #333; padding: 6px;">Tehran</td>
<td style="border: 1px solid #333; padding: 6px;">021</td>
</tr>
</table>
Lendo a amostra inline
border-collapse: collapseemtablefunde bordas vizinhas numa grade- Cada
th/tddefineborder: 1px solid #333para uma linha escura simples padding: 6pxmantém o texto longe de tocar a borda- Estilos inline se repetem em cada célula — úteis para aprender, barulhentos em tabelas grandes
- A estrutura HTML não mudou em relação à lição de tabelas; só a apresentação foi adicionada
Aparência compartilhada com um bloco style
Quando várias células devem combinar, uma regra de classe vence copiar a mesma string inline em todo lugar. Um bloco pequeno <style> no head do documento é uma ponte clara para folhas externas.
Shared look with a style block
html<head>
<style>
table.grid { border-collapse: collapse; }
table.grid th, table.grid td { border: 1px solid #444; padding: 8px; }
</style>
</head>
<body>
<table class="grid">
<tr><th>Item</th><th>Qty</th></tr>
<tr><td>Pens</td><td>12</td></tr>
</table>
</body>
Lendo a amostra de estilo compartilhado
table.gridlimita as regras para que nem toda tabela da página precise parecer igual- Uma regra estiliza tanto
thquantotddentro de.grid - Mudar padding ou cor num lugar atualiza a grade inteira
- Você ainda escreve linhas normais
tr/th/td— o CSS nunca substitui esses elementos - Cursos CSS posteriores aprofundam seletores; aqui o objetivo é uma receita de borda limpa e repetível
Collapse, espaçamento e legibilidade
Sem border-collapse: collapse, muitos navegadores mostram bordas separadas que parecem linhas duplas ou uma grade em relevo. Collapse é a escolha habitual de iniciantes para tabelas de dados porque se lê como uma superfície coerente tipo planilha. Padding dentro das células importa tanto quanto a linha em si: padding zero cola o texto na borda e cansa a varredura. Comece com 6px–8px e ajuste a olho na página de prática. Cor é opcional — cinza neutro ou carvão escuro basta para aprender; cores gritantes distraem dos números que você compara.
A estrutura fica; a aparência se move
Não apague cabeçalhos th porque o CSS existe. Não coloque relações tabulares só em caixas coloridas sem marcação real de tabela. Bordas são decoração e clareza sobre o esqueleto da sessão de tabelas. Se os dados não forem tabulares, volte às listas — linhas mais bonitas não corrigem a escolha errada de elemento. Da mesma forma, não reanime tabelas de layout aninhadas só porque as bordas de repente ficaram bonitas; regiões da página ainda pertencem à estrutura e ao layout CSS depois.
Pratique no seu editor
- Reutilize (ou recrie) uma tabela pequena de prática da sessão de tabelas com células reais
th/td. - Adicione bordas com CSS — primeiro estilos inline em cada célula para ver cada propriedade.
- Ligue e desligue
border-collapsepara comparar linhas duplas versus uma grade de linha única. - Adicione
paddingpara o texto ficar confortável em cada célula; tente4pxe depois8px. - Refatore para uma
classmais um bloco curto<style>como a segunda amostra. - Confirme que os cabeçalhos ainda são
the as células de dados aindatdapós o estilo. - Opcional: estilize só
.grid thcom borda ou fundo um pouco mais forte para enfatizar rótulos — sem mudar o significado HTML.
Erros fáceis
- Depender só de atributos apresentacionais obsoletos como
border="1"em sites sérios - Deixar bordas sem collapse e se perguntar por que as linhas parecem grossas ou duplas
- Padding zero de modo que o texto toque a borda
- Estilizar com CSS mas remover rótulos semânticos
th - Aplicar um
td { border: ... }global que restaura por acidente tabelas não relacionadas - Tratar CSS de borda como motivo para montar de novo o layout da página com tabelas aninhadas
Resumo
- Prefira CSS
borderemthetd(e collapse emtable) border-collapse: collapselimpa a grade em linhas simples- Padding melhora a legibilidade dentro das células
- A estrutura fica no HTML; a aparência no CSS
- Evite depender do atributo
borderobsoleto em trabalho novo - Refatore bordas inline repetidas para uma classe quando a tabela crescer
🧠 Teste Seu Conhecimento
Teste Seu Conhecimento
Desafie-se com este questionário interativo e veja o quão bem você entende o tópico
📝 Instruções
- Leia cada pergunta cuidadosamente
- Selecione a melhor resposta para cada pergunta
- Você pode refazer o quiz quantas vezes quiser
- Seu progresso será mostrado no topo