HTML & CSS para iniciantes

HTML e CSS para iniciantes (Parte 40): Layouts de duas e três colunas

Todos os vídeos do tutorial HTML & CSS para iniciantes

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.

HTML & CSS para iniciantes (Parte 40): Layouts de duas e três colunas


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:

HTML e CSS para iniciantes (Parte 40): Layouts de duas e três colunas



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.

HTML & CSS para iniciantes (Parte 40): Layouts de duas e três colunas

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é.

HTML & CSS para iniciantes (Parte 40): Layouts de duas e três colunas.

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.

HTML e CSS para iniciantes (Parte 40): Layouts de duas e três colunas.



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.

HTML & CSS para iniciantes (Parte 40): Layouts de duas e três colunas.



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.

HTML & CSS para iniciantes (Parte 40): Layouts de duas e três colunas

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.