Legenda

CSS HTML
Javascript Importante
Termo Nota

Tabelas vrs CSS

HTML, Hyper Text Markup Language

No inicio só existia HTML e com o simples objectivo de partilhar informação na Internet. Nunca houve a intenção de HTML servir para layout de web sites. Apesar de tudo, no dia em que no HTML surge <table> as coisas mudaram, pois foi possível designers começarem a criar layouts, senso assim o HTML usado para mais do que a simples partilha de informação.

A <table> ajudou muito para a evolução dos websites, por fim existia uma maneira de designers puderem colocar os elementos e imagens no sítio que desejavam.

Mesmo assim criar layouts usando <table> pode ser um processo doloroso, <table> dentro de <table> cria um código pesado e deselegante.

CSS, Cascading Style Sheets

O CSS veio ajudar o "coitadinho" do HTML, e com inúmeras vantagens.

Não só o factor <table> mas, simplesmente o processo todo de dividir código com layout. Com CSS é possível atribuir um ID ou uma classe a qualquer tag em HTML e simplesmente criar o layout ou estilo para essa mesma tag usando CSS.

Este artigo não tem como objectivo entrar em pormenores, mas sim ajudar a mudança e deixar de uma vez por todas <table>.

Exemplo <table> layout

Vamos começar com um simples exemplo de um design de três colunas usando tabelas.

<table border="1" cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td width="20%">Layout lado esquerdo</td>
<td width="60%">Layout centro</td>
<td width="20%">Layout lado direito</td>
</tr>
</tbody></table>

Simples não é? Pois bem, sem duvida que até é simples, mas será CSS ainda mais simples?

A maneira CSS

Então e como será em CSS? Mantendo o mesmo layout.

<div id="ladoesquerdo">Lado Esquerdo Layout</div>
<div id="ladocentro">Centro Layout</div>
<div id="ladodireito">Lado Direito Layout</div>

Hmm só três linhas? Parece simples, mas onde esta o truque?

Pois bem como disse no inicio CSS da vantagem de separar o código do layout e por isso existe umas linhas extras.

Existem três formas de inserir código CSS.

  • Entre as tags <head>
  • Directamente na tag que queremos modificar usando <style>
  • Ou criar um link para um ficheiro css

Neste exemplo inserimos entre as tags <head>.

#ladoesquerdo {width:19%; float:left; border:1px solid "666;}
#ladocentro {width:60%; float:left; border:1px solid "666;}
#ladodireito {width:19%; float:left; border:1px solid "666;}

Então e as vantagens?

Pois bem, existe várias vantagens:

  • O código está separado, qualquer mudança no layout pode ser feito só no CSS e não existe necessidade de mexer no HTML.
  • Search Engines adoram CSS, pois normalmente a dimensão do ficheiro fica mais pequeno, e também porque a percentagem de conteúdo tem mais hipóteses de ser superior ao código.

Mas claro também existe as suas desvantagens:

  • CSS ainda não tem o suporte total de todos os browsers no mercado.
  • Por vezes o que se vê num browser (IE) e diferente noutros (Firefox / Opera).

Mas com os web standards estão cada vez mais a puxar os browsers para a mesma forma de mostrar os resultados, CSS parece ter um futuro garantido.

Mostra mais

Então e que tal mostrar um pouco mais das vantagens do CSS.

Ok, vamos então dar um espaço entre as caixas, mudar a cor de cada caixa, as cores das fontes, isto tudo sem tocar no código HTML.

#ladoesquerdo {width:15%; float:left; border:1px solid #666; background-color:#000099; margin-right:4%; color:#FFFFFF;}
#ladocentro {width:60%; float:left; border:1px solid #666; background-color:#3366FF;margin-right:4%;}
#ladodireito {width:15%; float:left; border:1px solid #666; background-color:#000099; color:#FFFFFF;}

Hmmm ok, mas ainda não me convenceram. Mudar cores, mudar os tamanhos, bastava apenas acrescentar mais uns elementos na tabela.

Então e mudar o layout sem mexer no código? Por exemplo, ter só um layout de duas colunas?

#ladoesquerdo {width:20%; height:100px; float:left; border:1px solid #666;
background-color:#000099; margin-right:4%; color:#FFFFFF;}
#ladocentro {width:75%; height:50px; float:right; border:1px solid #666; background-color:#3366FF; }
#ladodireito {width:75%; height:50px; float:right; border:1px solid #666; background-color:#000099; color:#FFFFFF;clear:right;}

Ok ok, ainda não tocamos no código, ok ok já estou a ver as vantagens.

Conclusão

Espero que este artigo tenha ajudado para perceber algumas das vantagens de CSS, e claro não quero passar a ideia errada, tabelas são um aspecto importante e deve ser usado, mas no sítio correcto como longos formulários, para mostrar extensos resultados de base de dados, mas como uma maneira de criar o layout geral para um web site espero ter demonstrado as vantagens de CSS.

Deixa o teu comentario