CSS - Layouts
Espero que você se sinta confortável com tabelas HTML e seja eficiente no design de layouts de página usando tabelas HTML. Mas você sabe que CSS também fornece muitos controles para posicionar elementos em um documento. Já que CSS é a onda do futuro, por que não aprender e usar CSS em vez de tabelas para fins de layout de página?
A lista a seguir reúne alguns prós e contras de ambas as tecnologias -
A maioria dos navegadores oferece suporte a tabelas, enquanto o suporte a CSS está sendo lentamente adotado.
As tabelas são mais tolerantes quando o tamanho da janela do navegador muda - transformando seu conteúdo e agrupando para acomodar as alterações de acordo. O posicionamento CSS tende a ser exato e bastante inflexível.
As tabelas são muito mais fáceis de aprender e manipular do que as regras CSS.
Mas cada um desses argumentos pode ser revertido -
CSS é fundamental para o futuro dos documentos da Web e será suportado pela maioria dos navegadores.
CSS é mais exato do que tabelas, permitindo que seu documento seja visualizado como você deseja, independentemente da janela do navegador.
Manter o controle de tabelas aninhadas pode ser uma verdadeira dor. As regras CSS tendem a ser bem organizadas, facilmente lidas e alteradas.
Finalmente, sugerimos que você use qualquer tecnologia que faça sentido para você e use o que você sabe ou o que apresenta seus documentos da melhor maneira.
CSS também fornece propriedade de layout de tabela para fazer suas tabelas carregarem muito mais rápido. A seguir está um exemplo -
<table style = "table-layout:fixed;width:600px;">
<tr height = "30">
<td width = "150">CSS table layout cell 1</td>
<td width = "200">CSS table layout cell 2</td>
<td width = "250">CSS table layout cell 3</td>
</tr>
</table>
Você notará mais os benefícios em mesas grandes. Com o HTML tradicional, o navegador teve que calcular cada célula antes de finalmente renderizar a tabela. Quando você define o algoritmo de layout de tabela como fixo , entretanto, ele só precisa examinar a primeira linha antes de renderizar a tabela inteira. Isso significa que sua tabela precisará ter larguras de coluna e alturas de linha fixas.
Layout de coluna de amostra
Aqui estão as etapas para criar um layout de coluna simples usando CSS -
Defina a margem e o preenchimento do documento completo da seguinte forma -
<style style = "text/css">
<!--
body {
margin:9px 9px 0 9px;
padding:0;
background:#FFF;
}
-->
</style>
Agora, vamos definir uma coluna com a cor amarela e depois, vamos anexar esta regra a um <div> -
<style style = "text/css">
<!--
#level0 {
background:#FC0;
}
-->
</style>
Até este ponto, teremos um documento com corpo amarelo, então vamos agora definir outra divisão dentro do nível 0 -
<style style = "text/css">
<!--
#level1 {
margin-left:143px;
padding-left:9px;
background:#FFF;
}
-->
</style>
Agora, vamos aninhar mais uma divisão dentro do nível 1, e vamos mudar apenas a cor de fundo -
<style style = "text/css">
<!--
#level2 {
background:#FFF3AC;
}
-->
</style>
Finalmente, usaremos a mesma técnica, aninhar uma divisão de nível 3 dentro de nível 2 para obter o layout visual para a coluna certa -
<style style = "text/css">
<!--
#level3 {
margin-right:143px;
padding-right:9px;
background:#FFF;
}
#main {
background:#CCC;
}
-->
</style>
Preencha o código-fonte da seguinte forma -
<style style = "text/css">
body {
margin:9px 9px 0 9px;
padding:0;
background:#FFF;
}
#level0 {background:#FC0;}
#level1 {
margin-left:143px;
padding-left:9px;
background:#FFF;
}
#level2 {background:#FFF3AC;}
#level3 {
margin-right:143px;
padding-right:9px;
background:#FFF;
}
#main {background:#CCC;}
</style>
<body>
<div id = "level0">
<div id = "level1">
<div id = "level2">
<div id = "level3">
<div id = "main">
Final Content goes here...
</div>
</div>
</div>
</div>
</div>
</body>
Da mesma forma, você pode adicionar uma barra de navegação superior ou uma barra de anúncios no topo da página.
Isso produzirá o seguinte resultado -