Tabelas

Tabelas Simples

Tabelas são um recurso muito importante para a organização dados no geral, em HTML para criar uma tabela usa-se a tag table e, dentro dela, algumas tags de definição de conteúdo, tais como:

Uma tabela simples tem geralmente esta aparência:

Código Nomes Dados
001 Alfredo Dado 1
002 Guilherme Dado 2
003 Larissa Dado 3

Anatomia de Tabelas

Essa anatomia é utilizada para tabelas grandes e melhora o resultado em sites de busca, consiste em adicionar os seguintes elementos na tabela:

Todos esses elementos podem conter seus próprios tr, td e th (menos o caption).

Independente da ordem que você colocar as tags de anatomia, o navegador sempre vai organizar na ordem correta.

Scope

É um atributo de um th que indica para qual direção o título está mostrando os dados, pode ter os valores:

Obs.: Esse atributo é extremamente útil para ajudar o site a ser relevante em sites de busca.

Um exemplo de uma tabela utilizando todos os atributos da anatomia citada a cima pode ser visto a seguir:

Boletim
Aluno Nota
Ana 8
Dimi 7
Gustavo 10
Laís 7
Rodrigo 5
Samira 6
Vinícius 8
Média 7,2

Mesclagem de Células

Mesclar células em uma tabela é algo bem comum e importante, em HTML é necessário colocar os seguintes atributos nas tags th ou td:

Depois, adiciona-se o valor que representa o número de células que ela irá ocupar. Um exemplo pode ser visto a seguir:

A B
C D E
F G

Estilização de Colunas

Para especificar uma coluna em uma tabela HTML, usa-se a tag colgroup, ela é uma tag que define as colunas em uma tabela, cada coluna é representada por uma tag col que fica dentro de colgroup, isso facilita na hora de estilizar colunas com CSS.

A tag col possui o parâmetro span que especifica quantas colunas uma mesma tag col pode representar.

Um exemplo de tabela com colunas estilizadas:

Nome Idade Sexo Profissão
Ana Maria F 25 Jornalista
Claudio M 28 Programador
Gustavo M 42 Professor
Heitor M 19 Vendedor
Maria F 39 Médica
Otávio M 22 Nutricionista

Responsividade

Por útlimo, também é possível deixar uma tabela larga responsiva colocando-a dentro de uma div e usando a propriedade CSS overflow-x.

Produto Jan Fev Mar Abr Mai Jun Jul Ago Set Out Nov Dez
TV 40" 01 04 07 12 12 10 05 02 01 01 04 16
Home Theater 01 04 07 12 12 10 05 02 01 01 04 16
Samsung Galaxy S20 01 04 07 12 12 10 05 02 01 01 04 16
iPad Mini 01 04 07 12 12 10 05 02 01 01 04 16
PlayStation 5 01 04 07 12 12 10 05 02 01 01 04 16
Lava Louças 01 04 07 12 12 10 05 04 01 01 04 02
Amazon Echo 01 04 07 12 12 10 05 02 01 01 04 16

Enfim, esse foi todo o meu aprendizado nesse curso sobre a criação e uso das tabelas em HTML5, com algumas estilizações em CSS3.

Acesse aqui o desafio referente à esse exercício.