O que aconteceu com as tags de tabela HTML?

10

Comecei a codificar HTML em 1998 e, nessa época, usei muitas tags de tabela, jogando com tr e td, aprendi muitas coisas analisando o código fonte de muitos portais na internet com o bloco de notas e o Microsoft FrontPage, o último, aw, quantas mesas se sobrepunham a outras, foi divertido, eu amei esse tempo.

No entanto, abandonei a programação da web por quase sete anos e este ano decidi ver como é a programação da web hoje. Parece completamente diferente, pois a maioria dos sites não usa tags de tabela e, em vez disso, usa tags div e span.

Por quê isso aconteceu? O que são essas novas tags e por que as tags de tabela não são mais usadas?

John
fonte
5
Mesmo motivo pelo qual você provavelmente usa o Windows 7 em vez do Windows 2000. A tecnologia evolui. As tags de tabela ainda estão por aí, mas são usadas para o que foram originalmente planejadas, dados tabulares e não formatação de página.
Chris_O

Respostas:

14

O World Wide Web Consortium (W3C) desenvolveu a primeira especificação Cascading Style Sheets em dezembro de 1996. Desde então, as Cascading Style Sheets (CSS) evoluíram radicalmente e tornaram a separação do conteúdo HTML dos dados da apresentação mais comum entre sites populares.

Embora os sites atuais ainda possam contar com declarações de estilo em linha para obter os efeitos desejados, é muito mais eficiente incluir dados de apresentação (altura do elemento, largura, preenchimento, margens, posicionamento absoluto etc.) em um único arquivo CSS referenciado por vários HTML documentos do que atualizar todas as instâncias do conteúdo HTML quando a apresentação precisar ser alterada.

A adoção do CSS pelo navegador não ocorreu da noite para o dia (é por isso que alguns sites importantes ainda contam com tabelas para obter uma apresentação uniforme em vários navegadores até a década de 2000) e, enquanto alguns navegadores continuam a diferir na implementação das especificações CSS do W3C, gráficos navegadores que não suportam CSS1 são muito incomuns; portanto, poucos sites populares confiam em tabelas para obter uma apresentação compatível com vários navegadores.

O artigo 12 lições para quem tem medo de CSS e padrões (publicado em 2006) em A List Apart e uma revisão do CSS Snapshot do W3C podem ser um bom ponto de partida se você quiser acompanhar a transição dos layouts baseados em tabela para CSS.

danlefree
fonte
5

Sem entrar em uma história completa da evolução dos desenvolvedores da Web ... As
tabelas nunca foram criadas para criar o layout da página; essa é a parte mais importante. Usá-los dessa maneira foi uma solução alternativa criada pela tecnologia da época, tanto especificações incompletas quanto navegadores incapazes. Eventualmente, esses problemas foram (principalmente) abordados e agora não é mais necessário.

Os sites de SE são geralmente para perguntas mais práticas, por exemplo. como é que eu ... mas se você quiser mais detalhes, muitos livros em HTML para iniciantes - e parece que você está começando tudo de novo - têm uma visão geral resumida do que você está perguntando como material introdutório.

Su '
fonte
4

As tabelas ainda existem na especificação html. Mas eles devem ser usados ​​para exibir dados em forma de tabela! (Embora a marcação da tabela tenha evoluído um pouco, os rótulos das colunas e dos grupos são mais fáceis de aplicar de maneira sensata).

Se você tiver fotos e conteúdo de notícias que deseja escrever para uma página da Web, fique longe das tabelas pelos motivos descritos por outras pessoas que responderam a essa pergunta.

Se você deseja exibir contas de meses em uma página, então, por todos os meios, você deve usar tabelas para fazer isso.

medo
fonte
1

Não há ninguém, há alguns anos (e ainda assim, se você suporta o IE 6) as tabelas eram a melhor opção para afirmar o mesmo layout para todos os navegadores.

Estruturas que se recusavam a usar tabelas para fazer o layout, como Ext, terminavam o cálculo de dimensões dinamicamente através da alteração de estilos no redimensionamento, o que os fazia funcionar de buggy em alguns navegadores (IE 6 mencionado anteriormente).

As tabelas ainda são usadas como base para layouts de grade em várias estruturas (Icefaces, por exemplo).

Marinheiro Danubiano
fonte
11
Não apenas o IE6 - a marcação "Word HTML" usada pelo escritório significa que, se você deseja enviar emails em HTML "bonitos" para o Outlook, precisa usar Tabelas.
Zhaph - Ben Duguid 02/12/19
Os e-mails em HTML são a exceção, mas existem soluções alternativas não JS para a maioria das falhas do IE6 sem recorrer a layouts baseados em tabela.
Lèse majesté 6/12/11
-2

Eu secretamente ainda os uso.

Mais importante ainda, eles ainda estão no HTML5: http://www.w3schools.com/html5/tag_table.asp . Portanto, é perfeitamente seguro usá-los para suas necessidades de layout distorcido.

Edit: (Depois de ter sido um pouco menos votado) Um ótimo exemplo de "necessidade de layout distorcido" é usar tabelas em seus e-mails em massa. Se você deseja que seu lixo eletrônico pareça tão sexy quanto o efeito prometido do seu produto, não poderá usar a maioria das CSS.

Eu nem sempre uso hacks sujos, mas quando eu prefiro hacks que durarão pelos próximos dez anos.

Mikhail
fonte
4
@Misha Você está vinculando uma fonte horrível, consulte w3fools.com
Lekensteyn
11
Conselho horrível. Você está retendo a web. As tags de tabela são para dados tabulares e não para formatação de página.
Chris_O
Necessidades de layout distorcidas? É para isso que servem o posicionamento absoluto e uma infinidade de índices Z.
CC Ricers
11
Sua edição tem um bom argumento. O envio de emails em HTML adequados sempre exigirá tabelas.
Stephan Muller