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 HTML introduziu <table> as coisas mudaram, pois foi possível designers começarem a criar layouts.
A <table> ajudou muito para a evolução dos websites, por fim existia uma maneira de designers puderem porem 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

CSS veio ajudar o coitadinho do HTML, e com grandes 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 nos pormenores, mas sim ajudar a mudança e deixar de uma vez por todas <table> tag.

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 ate e 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 aonde esta o troque?
Pois bem como disse no inicio CSS da vantagem de separar o código do layout e por isso existe umas linhas extras.

Existe três maneiras 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 varias vantagens:

  • O código esta 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 o tamanho 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 cada vez mais a puxar os browsers para a mesma maneira de mostrar os resultados, CSS parece ter um futuro garantido.

Mostra mais

Então e que tal mostrar um pouco mais as 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 alguma 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 sitio certo 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.

Deixe o seu comentário

XHTML: Podes usar as seguintes tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>