Vou partir de um layout de colunas típico para o nosso projeto prático. Antes de apresentar este projeto ao vivo e a cores, gostaria de vos mostrar concretamente como podem implementar layouts de colunas. O foco aqui serão os layouts de duas e três colunas, afinal, estes continuam a ser a base da maioria dos websites.
O clássico absoluto do design web deve ser o layout de duas colunas. Na área à esquerda é normalmente apresentada a navegação, enquanto na coluna à direita é possível ver o conteúdo real. No contexto dos blogs, este comportamento tem mudado um pouco. Na verdade, em muitos blogs, à direita é exibida a navegação ou publicidade, enquanto à esquerda é apresentado o conteúdo real.
Essas aplicações podem ser implementadas de forma relativamente simples em CSS. De fato, as de duas colunas são a forma de layout mais simples.
No seguinte exemplo, vou mostrar uma de duas colunas que usa valores absolutos percentuais.
Aqui está o exemplo completo:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>PSD-Tutorials.de</title>
<style>
#nav {
position: absolute;
left: 0;
margin: 0;
width: 20%;
background-color:#66CCCC;
}
#main {
margin: 0;
margin-left: 20%;
width: 80%;
background-color:#6666CC;
}
</style>
</head>
<body>
<div id="header">Layout com posicionamento absoluto</div>
<div id="nav">Navegação</div>
<div id="main">Esta é a área de conteúdo</div>
<div id="footer">Aqui estão as informações de direitos autorais</div>
</body>
</html>E assim é como aparece no navegador:
Vocês podem facilmente deslocar a coluna da esquerda para a direita. Para isso, ajustem as seguintes instruções:
• Em #nav, alterem o valor de left: 0 para right: 0.
• Em #main, simplesmente mudem margin-left para margin-right.
Após as alterações serem salvas, o resultado desejado é visível.
O layout mostrado com base na posição absoluta tem um problema: se o conteúdo da coluna da esquerda se tornar mais extenso, ele ultrapassará a área do rodapé.
Isto acontece simplesmente porque para elementos posicionados absolutamente, não é reservado espaço. É possível contornar o problema inserindo conteúdo correspondente à largura do elemento principal na seção principal, mais longo do que na coluna da esquerda.
Deveriam utilizar este tipo de layout apenas se estiverem certos de que a área principal é realmente mais alta do que a coluna esquerda (ou direita).
Um layout de duas colunas com float
O problema anterior com a sobreposição na área do rodapé pode ser resolvido através do uso da propriedade float. A sintaxe alterada é a seguinte:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>PSD-Tutorials.de</title>
<style>
#nav {
float: left;
margin: 0;
width: 20%;
background-color:#66CCCC;
border: 0;
}
#main {
margin: 0;
float: left;
border: 0;
background-color:#6666CC;
width: 80%;
}
#footer {
clear: both;
}
</style>
</head>
<body>
<div id="header">Layout com posicionamento absoluto</div>
<div id="nav">A área de navegação</div>
<div id="main">Esta é a área de conteúdo</div>
<div id="footer">Aqui estão as informações de direitos autorais</div>
</body>
</html>Ambas as colunas foram equipadas com a propriedade float. Com isso, as colunas agora estão dispostas lado a lado.
A coluna da esquerda foi atribuída uma largura de 20 por cento. Prestem especial atenção ao facto de que um elemento posicionado com float realmente espera sempre uma especificação de largura.
A área de conteúdo real recebe uma largura de 80 por cento. Esta área também é posicionada com float: left, fazendo com que seja exibida ao lado da coluna da esquerda.
Para que a área do rodapé seja sempre visível na parte inferior da janela -- ou seja, abaixo das colunas -- é utilizada a seguinte sintaxe:
#footer {
clear: both;
}
Já tinha mencionado a possibilidade de definir uma classe própria para esta variante.
Um layout de três colunas com float
Também o layout de três colunas é uma variante popular no design web. Uma divisão típica seria a seguinte:
• A coluna da esquerda contém a navegação.
• Na coluna do meio está o conteúdo real.
• À direita, são exibidas informações adicionais ou publicidade.
A seguir, têm um exemplo de um layout de três colunas flexível. A sintaxe é semelhante à do layout de duas colunas mostrado anteriormente, mas agora com um div adicional chamado right, que representa a coluna da janela à direita.
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>PSD-Tutorials.de</title>
<style>
#main, #right {
margin: 0;
border: 0;
padding:0;
}
#nav {
float: left;
margin: 0;
width: 20%;
background-color:#66CCCC;
border: 0;
}
#main {
margin: 0;
float: left;
border: 0;
background-color:#6666CC;
width: 60%;
}
#right {
float: right;
width: 20%;
background-color:#6699FF;
}
#footer {
clear: both;
} </style>
</head>
<body>
<div id="header">Layout com posicionamento absoluto</div>
<div id="nav">A área de navegação</div>
<div id="main">Esta é a área de conteúdo</div>
<div id="right">Esta é a coluna direita</div>
<div id="footer">Aqui estão as informações de direitos autorais</div>
</body>
</html>
O novo espaço recebeu uma largura de 20 por cento. Dessa forma, a distribuição é a seguinte:
• As colunas esquerda e direita ocupam 20 por cento cada do espaço de visualização disponível.
• A coluna central tem uma largura de 60 por cento.
Pela sintaxe mostrada, a coluna right é realmente exibida à direita.
A sintaxe é flexível neste ponto. Vocês podem ajustar a coluna main da seguinte maneira:
#main {
margin: 0;
float: right;
border: 0;
background-color:#6666CC;
width: 60%;
}
Aqui o float foi definido como right. Isso faz com que a coluna right se mova para a esquerda.
Neste tutorial, vocês viram como é fácil definir layouts básicos com base no float. Este conhecimento agora serve como base para a construção de um site. Nos próximos tutoriais, um site será desenvolvido passo a passo, começando com a estrutura básica.