Tutorial: Âncora HTML em sites de página única

16 de julho de 2012 Design de Interface, Usabilidade, Webdesign 12 comentários


A âncora é um recurso que o HTML nos oferece  e não é tão recente, mas com a ajuda de jQuery e uma boa interface, podem conseguir incríveis resultados. Esse recurso é muito utilizado em sites de páginas únicas, que já foi falado por nossa colunista Amanda Brito, aqui.

Ancoragem

Vamos criar uma página exemplo, para facilitar a compreensão.

Primeiramente, o menu.  Ele terá 3 links: Home, Portfolio e Contato. O código é o seguinte:


<a href="#home" >Home</span></a>
<a href="#sobre">Portfolio</span></a>
<a href="#contato">Contato</span></a>

O  “jogo da velha” indicará que o link será associado a uma parte na mesma página, ou seja, é ele que indicará a ancoragem.

Identificando as partes

Conseguimos identificar uma parte da página de duas formas diferentes:

A primeira é colocando a linha <a name="home"></a> antes do contéudo.

<a name="home"></a>
<div id="principal">
Seja muito bem vindo à página teste!
</div>

A outra forma é colocar um identificador dentro da div. Muito cuidado para não confundir com o CSS.

<div id="home">
Seja muito bem vindo à página teste!
</div>

O segredo da rolagem suave

Há vários métodos para personlizar a rolagem, deixando-a mais suave. O jQuery abaixo  fará esse efeito. Coloque-o entre as tags <head></head>.

Download do jQuery

Vamos a prática?!

Clique aqui para voltar ao topo.
Clique aqui para ir à seção Ancoragem
Clique aqui para ir à seção Identificando as partes
Clique aqui para ir à seção O segredo da rolagem suave

 

Além disso, desenvolvemos uma página exemplo para vocês visualizarem os efeitos desse tutorial

Dúvidas e sugestões envie para @althi ou thiago@chocoladesign.com. Uma ótima semana! :D

Fonte: jQuery por John Resig aqui.

 

  • Thiago Almeida

    Olá! Me chamo Thiago Almeida sou de Belo Horizonte, Minas Gerais. Estudo Ciência da Computação na Universidade Federal de Lavras e trabalho como desenvolvedor web. Aqui no Choco la Design falarei sobre Web Design, Usabilidade, Acessibilidade e Programação. Também escrevo crônicas no Autômato Algum. Amante de design, fotografia, filosofia e uma boa música.Me encontre no Twitter, Flickr, Facebook e LikedIn. Abraços!

    Veja todos os 57 posts publicados por Thiago »

    COMENTÁRIOS

    • AndreHiguti

      Estava procurando na internet algo sobre essa ferramenta. Ótimo post!

      • althi

        Olá Andre! Obrigado pelo comentário. Esse recurso realmente é muito prático e como disse no post, com uma boa interface, podem ser feitas coisas incríveis. Passei uma semana pesquisando sobre o assunto e existem vários métodos de âncora. E também há pessoas que usam esse método com o Parallax e o resultado é muito bom! Abraços!

    • http://twitter.com/raimofelipe Raimo, Felipe

      Muito bom, mais uma vez :)

    • http://www.carolinisantos.com/ Carolini Santos

      O único contra deste tipo de site é o SEO Onpage.

    • Danilo

      Alguém sabe criar esse efeito nesses sites de âncora? 
      http://2create.bg/

      • Moutinho88

        Mas este efeito não é em HTML 5?

    • http://twitter.com/saleswill Will Sales

      Excelente artigo chocolas. Conciso e objetivo.

    • Leandro Ubinski

      Grande tuto, só que ao tentar realizar isso, cada vez que faço o link ou antes
      ou mesmo usando a id da div a rolagem para no meio da div e não onde está a ancora? O código esta igual ao que tem ai no exemplo, so que não fica cartinho, poderia me ajudar a resolver isso?

    • José Augusto

      Cara! Você não tem noção o quanto me ajudou! Estava exatamente um código assim para meu portifólio! Muito obrigado!!

    • Rafael Barbosa

      E se eu quisesse fazer um site na horizontal neste estilo???
      Quais seriam as alteraçoes a serem feitas??

    • http://www.facebook.com/jardelskt Jardel Gonçalves

      puts brother, valeu mesmo. estou ha dias tentando fazer este efeito em uma pagina. já pesquisei em muitos sites e nada, até já comprei um livro sobre ajax! ajudou muuuito!!!

    • Bom artigo.

      Olha tou a tentar fazer algo similar mas não consigo fixar o menu. Qual truque? Obrigado