Tabelas no CSS

CSS
Tempo de leitura: 3 minutos

Tabelas no CSS: Embora o uso de tabelas HTML para layout de página seja obsoleto, a estrutura <table> continua sendo a ferramenta mais semântica e acessível para apresentar dados tabulares (planilhas, listas de preços, comparações).

O CSS é essencial para transformar a aparência monótona das tabelas padrão em visualizações claras, legíveis e atraentes. Neste artigo, exploraremos as principais propriedades para estilizar tabelas e as melhores práticas para aprimorar a experiência do usuário.

1. Estrutura HTML Semântica

A estilização começa com uma estrutura HTML limpa e semântica, utilizando os elementos corretos para cada parte da tabela:

  • <table>: O container principal.
  • <thead>: Contém a linha de cabeçalho (<th>).
  • <tbody>: Contém as linhas de dados (<td>).
  • <caption>: Fornece um título acessível à tabela.

HTML

<table>
  <caption>Comparativo de Preços</caption>
  <thead></thead>
  <tbody></tbody>
</table>

2. Propriedades Chave de Estilização

O CSS oferece propriedades específicas para controlar o layout interno e as bordas das tabelas.

A. Controle de Bordas e Largura

PropriedadeFunçãoValor Recomendado
border-collapseControla como as bordas das células adjacentes são renderizadas.collapse: Une bordas adjacentes em uma única linha (padrão moderno).
border-spacingDefine o espaço entre as bordas das células (só funciona com border-collapse: separate).10px
widthDefine a largura da tabela em relação ao container.100% ou largura fixa.

B. Estilizando Células (th e td)

As células (<th> e <td>) são elementos de bloco dentro da tabela.

  • padding: Essencial para criar espaço de respiro entre o conteúdo e as bordas das células, melhorando a leitura.
  • text-align: Controla o alinhamento horizontal (ex: center para números, left para texto).
  • vertical-align: Controla o alinhamento vertical do conteúdo dentro da célula (ex: top, middle).

CSS

th, td {
  border: 1px solid #ccc;
  padding: 12px; /* Espaçamento interno */
  text-align: left;
}

3. Estilos de Leitura Aprimorada

Duas técnicas são cruciais para tabelas grandes e legíveis:

A. Estilo “Listras de Zebra” (:nth-child)

Aplicar cores de fundo alternadas a linhas pares ou ímpares melhora drasticamente a legibilidade em tabelas com muitas linhas.

CSS

/* Linhas Pares (even) com fundo cinza claro */
tr:nth-child(even) {
  background-color: #f8f8f8;
}

/* Linhas Ímpares (odd) com fundo branco */
tr:nth-child(odd) {
  background-color: #ffffff;
}

B. Efeitos Interativos (:hover)

Destacar a linha inteira quando o mouse passa por ela ajuda o usuário a rastrear os dados na linha.

CSS

/* Aplica um fundo azul suave ao passar o mouse sobre qualquer linha no corpo */
tbody tr:hover {
  background-color: #e0f7fa;
  cursor: pointer;
}

4. table-layout: Otimização de Renderização

A propriedade table-layout define o algoritmo usado para definir a largura das colunas:

ValorComportamentoUso Recomendado
auto (Padrão)Largura baseada no conteúdo das células (o navegador lê todo o conteúdo). Lento.Poucas tabelas pequenas.
fixedLargura baseada na primeira linha de células ou na width da coluna. Rápido.Tabelas grandes ou quando o desempenho é crucial.

CSS

/* Melhora o desempenho em tabelas grandes */
table {
  table-layout: fixed;
  width: 100%;
}

✅ Conclusão Tabelas no CSS

O CSS é a ferramenta que resgata a usabilidade das tabelas HTML. Ao aplicar border-collapse: collapse, adicionar um padding generoso e usar técnicas como :nth-child para listras de zebra, você transforma dados brutos em informações estruturadas e agradáveis de consumir. Lembre-se: use <table> apenas para dados e mantenha o Flexbox ou Grid para o layout da página.

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.