Tabelas
Uma tabela é um conjunto estruturado de dados constituído por linhas e colunas. Uma tabela permite consultar, fácil e rapidamente, valores que indiquem alguma relação entre diferentes tipos de dados, por exemplo, uma pessoa e a sua idade, ou os dias da semana num horário de uma piscina.
As tabelas são definidas com a tag <table>. Uma tabela é dividida em linhas (com a tag <tr>), e cada linha é dividida em células de dados (com a tag <td>). Além dessas tags, <th> é usada ao invés de <td> quando a célula contém o cabeçalho da coluna.
Imagine a tabela abaixo, mostrando as bandas de indie rock mais ouvidas do Last.fm juntamente com o país onde a banda surgiu. Em seguida, veja o código que usamos para construi-la.

Perceba que usamos apenas um elemento <table> que contem todas as informações da tabela. Para cada linha, usamos um elemento <tr> que contem seus elementos. No caso da primeira linha, usamos <th> e nas demais, a tag <td>. Veja no exemplo do Codesandbox que a tabela não está visualmente igual a que mostramos aqui, isso acontece porque ainda não estilizamos ela com CSS, mas nós chegaremos lá durante nossa disciplina.
Células em múltiplas linhas e colunas
Às vezes teremos a necessidade de que uma célula de uma tabela ocupe mais de uma coluna ou linha. É o que chamamos de células "mescladas" em programas como Excel ou até mesmo o Word. O exemplo anterior, reformulado para células em múltiplas linhas e colunas (coluna país) pode ser visto abaixo para um melhor entendimento.

Para isso utilizaremos os atributos colspan e rowspan nas células da tabela. Elas servem para expandir as células fazendo com que uma única célula ocupe mais de uma linha (rowspan) ou mais de uma coluna (colspan).
Quando não usar tabelas?
Por muitos anos, o elemento <table> foi usado para criar layouts de páginas inteiras. Isso é extremamente desencorajado nos dias de hoje. Layouts com tabelas reduzem acessibilidade de utilizadores com deficiências visuais, uma vez que tabelas não são uma ferramenta adequada para o layout, e a marcação é mais complexa do que se recorresse a técnicas de layout de CSS, a informação dada pelos leitores de tela será confusa para os seus utilizadores.
Last updated
Was this helpful?