Categories: (X)HTMLCSStodas

Topo elástico para seu site

Uma pergunta frequente em fóruns e listas de discussão é: Como faço para que o topo do meu site (uma imagem bitmap) ocupe toda a largura da tela do usuário independente da resolução?

É sabido que imagens do tipo mapa de bits (bitmaps) usadas em sites, normalmente nos formatos PNG, JPG e GIF, ao serem redimensionadas sofrem distorções que podem comprometer seriamente a qualidade da imagem.

A solução para essa questão é a adoção do formato SVG (Scalable Vector Graphics) que embora já seja uma Recomendação do W3C ainda não é largamente usado e limita-se a construções gráficas, inviabilizando, na maioria dos casos o uso do formato SVG

Assim, se você optou por construir o topo do seu site com uso de uma bela foto JPG e pretende servi-la em toda sua largura independentemente da resolução da tela do usuário, antes de tentar uma solução que envolva uso de scripts e manipulação das dimensões da imagem, vale a pena tentar uma solução simples que consiste no seguinte:

Vamos supor que a imagem do topo ocupará toda a largura da tela, independentemente da largura ocupada pelas colunas do site. Isto é, podemos ter uma site com largura fixa (800px, 1000px etc) e topo elástico ou site com largura e topo elásticos.

Qualquer que seja a largura do layout do site (fixa ou estática) a imagem JPG que você irá usar deverá ter uma largura inicial (boa resolução) em torno de 1200px;

A imagem deverá ser inserida na marcação HTML e não como imagem de fundo com uso de CSS, conforme mostrado a seguir:

<div id="topo">
    <h1>Nome do site <br />
    <small>texto inserido na marcação </small></h1>
    <p>Mais texto na marcação</p>
    <img src="topo.jpg" alt="topo" />
</div>

<div id="conteudos">
    <h1>Conteúdos do site </h1>
</div>

Para a marcação mostrada defina as seguintes regras de estilos:


Notar que textos constantes do topo do site podem ser inseridos na marcação HTML e posicionados convenientemente no topo.

Agora só resta verificar na prática se as distorções da imagem são aceitáveis, redimensionando a janela do navegador.

Nesse link você encontra uma página demonstrando a técnica explicada nessa matéria.

Maujor

View Comments

  • Muito bom, Maujor! Seus tutoriais sempre me foram muito esclarecedores, agradeço imensamente por compartilhar seu trabalho e experiências conosco.

    Parabéns, bom trabalho!

  • Parabéns pelo post, mas estou com um problema: a imagem de capa ocupa o centro da tela, mas com umas bordas nas laterais e uma no topo. Quero colocar este cabeçalho como um mapa de imagem que ocupe todo o navegador quando o visitante chegar no site. Estas bordas estão me atrapalhando. Por último gostaria de saber se o visitante, em qualquer resolução de tela/navegador, irá ver a imagem nas proporções corretas.

  • Muito boa a dica. Mas eu gostaria de tirar uma dúvida, estou montando um blog para mim e gostaria de colocar uma imagem bitmap como background fixa mas que se encaixasse dependendo da resolução usada pelo internauta. Seria mais ou menos igual a essa dica mas não estou conseguindo fazer se poder me ajudar ficarei agradecido. abc e até a próxima.

  • Excelente artigo. O pai da simplicidade nos ensinando mais uma vez.

    Muito obrigado por mais este artigo sr maujor

Share
Published by
Maujor

Recent Posts

Teste seu conhecimento #20

Em 2006 comecei a publicar nesse blog uma série de desafios CSS que consistiam em…

7 anos ago

Teste seu conhecimento #19

Há muito tempo que eu não publico um "Teste seu conhecimento". Esta semana, revendo algumas…

10 anos ago

JavaScript bubbling e capturing

Introdução Elementos da marcação HTML podem ser aninhados uns dentro de outros, criando-se uma cadeia…

10 anos ago

HTML5 – W3C versus WHATWG

HTML5? Web universal? É comum eu me deparar com dúvidas sobre a HTML5 não só…

10 anos ago

Seria esse o futuro das imagens responsivas?

Quem é Tab Atkins Jr? Tab Atkins Jr, um desenvolvedor americano, trabalhou durante muitos anos…

11 anos ago

BrazilJS Conf 2013

Pessoal, a BrazilJS Conf 2013 disponibilizou para o Maujor cupons de desconto para serem oferecidos…

11 anos ago