Desenvolvimento

Teste 10 - Estruturação de Páginas com a tag <div>

Esta página está sendo mantida apenas por questão histórica, pois ela foi redigida quando eu ainda não tinha muita idéia do que estava fazendo. Apesar das coisas a seguir não fazerem muito sentido prático hoje, há algumas observações interessantes que quero manter para eventuais consultas desesperadas.

Em algum ponto enquanto eu estudava, eu havia chegado à conclusão de que é fator comum entre os bons webdesigners a preferência pela estruturação de páginas usando tags <div> ao invés de tabelas.

Abaixo estão algumas estruturas de iniciante que na época achei interessantes, com códigos "e talz".

Exemplo 1 - Lay-out '3C' para todas as resoluções de tela I

Direita
100×100px
Esquerda
150×100px
Em uma noite chuvosa, dois carros se chocam em uma estrada. Um pertencia a um advogado, o outro a um médico.
Ao sair de seu automóvel, o médico, preocupado, dirige-se ao carro do advogado e pergunta se ele está ferido, examina-o brevemente e constata não haver nada de grave. Só então os dois passam a verificar o estado dos carros e como se deu a batida. Chegam à conclusão de que não havia como escapar do acidente na situação em que tinha acontecido: a estrada estava molhada, escura e mal sinalizada. Como, todavia, o advogado já tinha ligado para a polícia rodoviária, resolveram ficar esperando enquanto a viatura não chegava, para avisar aos policiais que cada um ia assumir seus prejuízos.
Conversa vai, conversa vem, o advogado vai ficando íntimo do médico e até lhe oferece uísque. O médico aceita, bebe três goles longos e pergunta:
- E você, amigo, não vai beber?
O advogado responde:
- Só depois que a polícia chegar.

Código

<div id="direita" style="width: 100px; height: 100px; float: right; background-color: #f00">
   Direita<br />100x100px
</div>
<div id="esquerda" style="width: 150px; height: 100px; float: left; background-color: #ff0">
   Esquerda<br />150x100px
</div>
<div id="meio" style="font-size: 10px; color: #00f; background-color: #9f9; text-align: justify">
   Em uma noite...
</div>

Exemplo 2 - Lay-out '3C' para todas as resoluções de tela II

Direita
100×100px
Esquerda
150×100px
Em uma noite chuvosa, dois carros se chocam em uma estrada. Um pertencia a um advogado, o outro a um médico.
Ao sair de seu automóvel, o médico, preocupado, dirige-se ao carro do advogado e pergunta se ele está ferido, examina-o brevemente e constata não haver nada de grave. Só então os dois passam a verificar o estado dos carros e como se deu a batida. Chegam à conclusão de que não havia como escapar do acidente na situação em que tinha acontecido: a estrada estava molhada, escura e mal sinalizada. ...

Código

<div id="direita" style="width: 100px; height: 100px; float: right; background-color: #f00">
   Direita<br />100x100px
</div>
<div id="esquerda" style="width: 150px; height: 100px; float: left; background-color: #ff0">
   Esquerda<br />150x100px
</div>
<div id="meio" style="width: 250px; float: left; font-size: 10px; color: #00f; background-color: #9f9; text-align: justify">
   Em uma noite...
</div>
<br style="clear: both" />

Exemplo 3 - Lay-out '3C' para todas as resoluções de tela III

Esquerda
150×???
Blá-blá-blá
Blá-blá-blá 2...
Direita
100×???
Em uma noite chuvosa, dois carros se chocam em uma estrada. Um pertencia a um advogado, o outro a um médico.
Ao sair de seu automóvel, o médico, preocupado, dirige-se ao carro do advogado e pergunta se ele está ferido, examina-o brevemente e constata não haver nada de grave. Só então os dois passam a verificar o estado dos carros e como se deu a batida. Chegam à conclusão de que não havia como escapar do acidente na situação em que tinha acontecido: a estrada estava molhada, escura e mal sinalizada. Como, todavia, o advogado já tinha ligado para a polícia rodoviária, resolveram ficar esperando enquanto a viatura não chegava, para avisar aos policiais que cada um ia assumir seus prejuízos.
Conversa vai, conversa vem, o advogado vai ficando íntimo do médico e até lhe oferece uísque. ....

Código

<div style="width: 100%">
   <div id="esquerda" style="width: 150px; float: left; background-color: #ff0">
      Esquerda<br />150x???<br />Blá-blá-blá<br />Blá-blá-blá 2...
   </div>
   <div id="direita" style="width: 100px; float: right; background-color: #f00">
      Direita<br />100x???
   </div>
   <div id="meio" style="float: left; font-size: 10px; color: #00f; background-color: #9f9; text-align: justify">
      Em uma noite...
   </div>
   <br style="clear: both" />
</div>

Exemplo 4 - Lay-out '3C' para todas as resoluções de tela IV

Esquerda
150×???
Blá-blá-blá
Blá-blá-blá 2...
Direita
100×???

Camada do Meio

O estilo width desta camada é calculado por meio de JavaScript, para que seu tamanho se ajuste a qualquer janela de browser. O estilo width possui agora o valor px (ao redimensionar a tela, aperte F5 para atualizá-la e ver o novo tamanho).

Ao sair de seu automóvel, o médico, preocupado, dirige-se ao carro do advogado e pergunta se ele está ferido, examina-o brevemente e constata não haver nada de grave. ...


Código

Exemplo 5 - Lay-out centralizado, com tamanho fixo

Ao sair de seu automóvel, o médico, preocupado, dirige-se ao carro do advogado e pergunta se ele está ferido, examina-o brevemente e constata não haver nada de grave. Só então os dois passam a verificar o estado dos carros e como se deu a batida. Chegam à conclusão de que não havia como escapar do acidente na situação em que tinha acontecido: a estrada estava molhada, escura e mal sinalizada. Como, todavia, o advogado já tinha ligado para a polícia rodoviária, resolveram ficar esperando enquanto a viatura não chegava, para avisar aos policiais que cada um ia assumir seus prejuízos.

Código

<div style="text-align:center">
   <div id="centerFrame" style="width: 450px; margin-right: auto; margin-left: auto; padding: 0px; text-align: left; background-color: #ff0">
      Ao sair de seu automóvel, ...
   </div>
</div>

Exemplo 6 - Texto com figuras

O objetivo deste texto é simplesmente testar as diferentes opções de formatação dentro de uma camada <div> centralizada, utilizando figuras e outras camadas <div>.

Esta camada, de cor cinza, não possui nenhuma definição para o estilo padding, ou seja, o texto e todos os elementos internos 'encostam' nas bordas da camada.

O Grito

Alinhado a este segundo parágrafo, e declarado antes dele, está a foto do pôster do filme O Grito, cujo único fã parece ser apenas eu mesmo. A tag <img> está dentro de uma tag <div> com estilo float: right. Nesta camada não foi aplicado nenhum estilo margin ou padding.

Carrie - A Estranha

Já a camada da nossa querida e finada mutante telecinética Carrie recebeu o estilo padding-right: 20px que, como pode-se perceber, funciona perfeitamente. Interessante notar que, na parte superior, o espaçamento fornecido pela tag <p> já provê uma boa distância do texto superior. Com o fim da foto de O Grito, agora o texto volta a ser mostrado até o canto direito da tela, significando que podemos fazer mais uma experiência com o posicionamento por estilo float.

Freddy Vs. Jason

Freddy e Jason aparecem como cobaias de uma foto à qual foi atribuído o estilo padding: 10px. 10 ou 15 pixels parece ser o valor adequado para incluir áreas ou figuras dentro de textos.

Ho-ho-ho

À esquerda aparece uma camada de 50 × 60 pixels, com os principais itens de formatação já aplicados. Não foi definida nenhuma margem, mas o preenchimento foi aplicado com padding: 10px. Aqui, o pequeno quadro ao lado apresenta-se de forma distinta nos dois browsers mais utilizados, o IE e o Netscape.

Isso ocorre porque esta página não utiliza nenhuma declaração DOCTYPE, ou seja, é carregada em 'quirks' ou 'non-compliant mode'.

Hi-hi-hi

Já esta outra camadinha tem como diferença a aplicação das margens apenas aos lados esquerdo (margin-left: 15px) e direito (margin-right: 15px).

As diferenças entre o IE e o NN neste caso podem ser eliminadas usando-se uma declaração DOCTYPE no início do documento, tornando-o assim compatível com o padrão W3C (standards-compliant). Como o Netscape já utiliza este padrão automaticamente, as camadas mostradas terão ao final a aparência que possuem quando visualizadas no NN.

Valid XHTML 1.0!Valid CSS!    Ícones desabilitados! Página em modo non-compliant