Hoje em dia muito se fala em abandonarmos a estruturação de site baseada em Table e convertê-la para Div. Mas você sabe por que fazer essa conversão de estruturação de site? Certamente não é uma briga de faroeste, mas é um assunto que assombra os desenvolvedores web.

Quem é quem?

Antes de falarmos qualquer coisa, vamos saber o significado e qual o propósito de cada um em um documento HTML.

Table: A tag <table> define uma tabela dentro de um documento HTML. Ela é usada para listar dados tabulares dentro de linhas e colunas. A tag <tr> define a linha e a tag <td> define a coluna da tabela. Há outras tags utilizadas na tabela, como o <thead>, <tfoot>, entre outras, para torná-la mais semântica.

Div: A tag <div> define uma divisão ou uma seção em um documento HTML. É usada geralmente para fazer blocos de elementos, dispondo organizadamente as informações dentro do layout, que são formatadas com CSS. A tag <div> é controlada pela CSS através de um IDClass ou pela própria tag.

Table, o Feio

Há muito tempo atrás, em uma web muito distante… ou talvez não tão distante assim (pra não dizer atual), as pessoas utilizavam a tag <table> para dispor os elementos dentro da página HTML. O site era feito rapidamente através da parte visual de algum editor HTML, como o FrontPage ou Dreamweaver por exemplo, e não havia necessidade de testar em vários navegadores, pelo fato dos navegadores interpretarem igualmente a tag <table>.

Porém, essa rapidez tem um preço: Código de difícil manutenção e restrição de navegadores. Um site estruturado com a tag <table>, consome mais tráfego e torna-se confuso para manutenção e mecanismos de busca.

Dizem que quando um site é estruturado com a tag <table>, o site é compatível com todos os navegadores e que demora muito menos para ser estruturado do que um site estruturado com a tag <div>… mas será que é isso mesmo?

“Um site que você faz utilizando a tag <div> em 5 horas, eu faço em 1 hora utilizando a tag <table>! É rápido e de fácil manutenção. É só colocar mais uma tabela dentro de outra tabela que está tudo resolvido! E se a tabela estourar, coloco mais uma tabela para consertar a outra.”

- Webmaster que utiliza Table após diagramar um site com 10 mil linhas de código (e que só ele entende).

Div, o Bom

Um site estruturado com a tag <div> ganha semântica, fácil manutenção, menor tamanho da página e melhora o indexamento para os mecanismos de busca. Porém o fato de ter que testar em todos navegadores, ainda atrapalha os desenvolvedores.

Com a utilização da tag <div> e das CSS, o termo Tableless a cada dia ganha mais força na web brasileira. Desenvolvendo um site seguindo os padrões estabelecidos pelo W3C, você disponibiliza a todos, independentemente do navegador utilizado ou da necessidade especial que o visitante possui, uma experiência agradável ao visitar o site.

Div, o Mal

A tag <div> não possui só o lado bom, mas também o lado mal. Você hoje, querer fazer a transição de Table para Div, é algo trabalhoso e que, infelizmente, isso se deve a pessoas que não possuem conhecimento nenhum de internet. Mas como asssim?

O navegador da Microsoft, Internet Explorer 6, é conhecido por dificultar esta transição, pois o mesmo não possui uma boa compatibilidade com a dupla Div + CSS. E como vocês sabem, o IE6 é aquele navegador que já vem instalado na máquina daquela pessoa que não possui conhecimento nenhum em informática e que acha que a internet se resume a Orkut e e-mail, sendo assim, você acha que essa pessoa terá o trabalho de atualizar o seu navegador? Infelizmente, não.

Ainda hoje, mesmo com o lançamento do Internet Explorer 8, uma grande parte das pessoas acessam a internet usando o Internet Explorer 6 e 7, sendo assim, não podemos frustrar a experiência desses usuários que utilizam os navegadores antigos, impossibilitando-os de navegarem e de acharem as informaçãos que procuram, mas devemos incentivá-los a atualizarem os seus navegadores para que eles tenham uma experiência mais rica e segura ao navegar pela internet.

“Maldito IE6! Não tem como fazer isso utilzando a tag <div>... acho que vou usar uma tabela aqui. Só uma tabela não faz mal e ninguém vai perceber.”

- Webmaster que começou a fazer a transição de Tabela para Div

Links úteis

Veja abaixo uma lista de links úteis para você estudar melhor as tags do HTML. Bom estudo e até o próximo artigo!

Rodolfo Pereira

Desenvolvedor Web e Analista Júnior de SEO pela Princi Agência Web e XY2. Siga-me no Twitter @rodolfoprr.

Deixe seu comentário

Comentários

9 Comentários em “Table vs. Div – O Bom, o Mal e o Feio”.

Rogerio Gomes Pereira

14-05-2009 às 12:59     

Concordo com você Rodolfo nesta questão do uso do table. Isto foi largamente utilizado e há sites de difícil manutenção. Um site com muitas tables fica praticamente criptografado (ninguém entende como está montado) e impossível de se fazer qualquer manutenção.

Ricardo Lopes

15-05-2009 às 15:51     

O IE é um grande problema, já faz anos e não resolvem, os sites deveriam tomar a iniciativa de banir o browser.

Rodolfo Pereira

15-05-2009 às 16:08     

Ricardo, creio eu que o IE6 seja um grande problema e o IE7 um “médio” problema. O IE8 não causa tantos problemas na hora da estruturação de um site em Tableless, mas mesmo assim está um nível abaixo dos navegadores Firefox, Chrome e Opera.
Há sites que aderiram a campanhas que defendem a “morte do IE6″, hehe… e isso é o que todos os desenvolvedores querem!

Edno Cretes

16-05-2009 às 17:24     

Vamos lá, vivo isso no meu dia-a-dia, pois só vendo se o que apresento tem qualidade e conteúdo e sei que vou melhorar demais se contar sempre com o apoio da Princi, vocês são bons, mas BONS mesmo no que fazem.

Valeu e sucesso,
Edno.

cristo

18-08-2009 às 09:51     

Matar um browser que pessoas de 40 anos usam em suas empresas legadas? É melhor matar essas possoas e destruir suas ao invés do browser, pois elas não vão mudar (e tambem sair matando gente trabalhadora é crime e dar cadeia e vai contra a lei).

Mesmo dizendo a elas que se usarem o Firefox com o plugin FasterFox terão um acesso quase que instantaneo, elas não acreditarão, mesmo sendo verdade, o ideal é fazer uma página para o IE6 e outra para o resto, contudo isso seria trabalho e stress dobrados, ou então utilizar frameworks que dêem uma boa compatibilidade com a maioria dos browsers como JQuery (que as vezes te deixa na mão) ou uma linguagem de servidor para construir sua página de acordo com a necessidade como PHP, Java, Ruby e ou Python (que no caso usando qualquer um deles será bem mais vantajoso que construir página atrás de página) contudo existem muitos clientes que pagaram produtos sem este suporte.

No mais prefiro fazer programas em Java para Desktop ou Celular que fazer designer de página html, já que farei para o celular ou computador de um dado cliente e não uma página para um conjunto enormes de browsers independentes.

Ou então joga tudo no lixo e faz para o IE6 (muito trabalho, stress e páginas ridículamente desorganizadas em matéria de código).

Joseph Dionísio Biesek Rocco

03-09-2009 às 09:22     

Há tempos tomei uma decisão. Fazer sites simples e bonitos para todos os browsers,

e fazer sistemas complexos ultilizando o máximo das frameworks limitando elas somente num browser.
E pra isso geralmente ultilizo o IE8.

O IE6 realmente concordo que estava muito atráz dos concorrentes, mas o IE8 ganha em alguns detalhes, pelo menos nos meus projetos.

Quem usa IE6 não tem noção nenhuma de internet, esse tipo de pessoa não merece uma “boa experiência”. Não é preciso matar ninguém para fazer com que todos usem browsers atuais, é necessário as pessoas entenderem que as coisas evoluem na area da informática e elas necessitam seguir essa linha de evolução. Se os desenvolvedores sempre forem amistosos com browser`s antigos nunca teremos uma evolução real da internet. Nós que somos a base da internet, se desenvolvermos ao ponto de exigir mais dos browser`s os browser`s deixarão de ser meras ferramentas que mostram textos na tela com alguns plug-ins precários do inicio do século XXI anexados ao conteudo.

Rodolfo Pereira

03-09-2009 às 10:08     

Joseph, antes de mais nada, obrigado pelo comentário!

A estratégia de fazer um site simples e bonito para não ter grandes dores de cabeça na hora de verificar o site em navegadores antigos, é uma boa dependendo do caso, pois você pode acabar limitando muito a experiência de quem utiliza navegadores mais atuais, pois você poderia oferecer uma experiência melhor a eles, utilizando recursos mais avançados, porém, fazendo isso, talvez a experiência para quem utilize navegadores antigos, não seja muito boa. Isso é algo que deve ser estudado com cuidado antes de fazermos um site, para que você não ofereça uma experiência desagradável aos que utilizam navegadores antigos e ao mesmo tempo, não limite a experiência de quem utiliza navegadores atuais.

Em sistemas, nós da Princi Agência Web, quando damos o treinamento para o cliente, já atualizamos o navegador do mesmo e colocamos uma verificação, para saber se o usuário está entrando no sistema com um navegador antigo ou não. Se ele estiver usando um navegador antigo, um aviso é dado, para que ele possa atualizar o seu navegador facilmente e aproveitar todos os recursos dos nossos sistemas.

Essa prática de dar esse aviso ao usuário, quando ele navega em determinada página com um navegador antigo, será utilizada futuramente em nosso sites, para “forçar” (e não “matar”, hehe) o usuário a atualizar o navegador, pois o usuário que visita o site pode até ter vontade de atualizar seu navegador, mas talvez ele não saiba que há uma versão mais nova do mesmo.

Wellington V. Santos

07-10-2009 às 14:59     

Parabens pelo Post, bastante explicativo, estou justamente nessa transição entre e e apesar da dificuldade em fazer entender as divs e fazê-las funcionar em diferentes navegadores, ja me pergunto onde estava com a cabeça que não fiz isso antes. Enfim, antes tarde que mais tarde. valeu, abraço.

Alessandro

05-02-2010 às 10:36     

Ótimo post, obrigado!
Gostei do texto.



Sobre

No Blog da Princi Agência Web você fica por dentro das novidades da nossa agência, além de conferir nossos artigos sobre as tecnologias de desenvolvimento web, web design e marketing digital.

XHTML