sexta-feira, 2 de agosto de 2013

Menu horizontal fixo no topo do blog

  Trago hoje, como nosso segundo tutorial, um simples recurso para blogs e sites, porém muito interessante! O menu fixo no topo da página - usado pelo facebook e outros sites grandes - é uma ótima ajuda para quem deseja navegar pelas páginas de seu blog/site, sem ter de ficar "subindo" a tela para consultar o menu. Além de ser muito atraente e profissional, não é tão complicado como pensam!

Para colocar um desses em seu blog, basta seguir os seguintes passos, lembrando que você pode editar o código como quiser (desde que tenha alguma noção de CSS ), mas a verdade é que você só precisará mexer na parte gráfica. Vamos lá!

1 - Adicionar código HTML 
Abra o Layout de seu blog e localize a região do rodapé (ou até mesmo a sidebar) e clique em Adicionar um Gadget. Procure pela opção " HTML/ JavaScript " e clique nela. Cole o seguinte código:


<ul id="menu_fixo">
  <li><a href="LINK">TEXTO</a></li>
  <li><a href="LINK">TEXTO</a></li>
  <li><a href="LINK">TEXTO</a></li>
  <li><a href="LINK">TEXTO</a></li>
  <li><a href="LINK">TEXTO</a></li>
</ul>

Altere o código da seguinte maneira: onde estiver escrito LINK, substitua pelo link da página que será encaminhada quando o usuário clicar no TEXTO da mesma linha (substitua o TEXTO pelo que você quiser que seja título do link). Se quiser excluir ou adicionar um link, apague ou duplique uma linha do código ( de "<li>"  até "</li>" ).

Feito tudo isso, salve o gadget. Você perceberá que uma lista não-ordenada apareceu no seu blog. Agora é a transformação!

2 - Adicionar código CSS (personalização)
Vá em Modelo > Editar HTML e procure ( CTRL + F ) por ]]></b:skin>. Logo ACIMA disso, cole:

#menu_fixo {
display:inline-block;
position:fixed; width:100%;
height:50px; /* altura do menu - cuidado ao alterar, existem valores dependentes */
padding:0px 30px;
text-align: center;
top:-1px;
left:0px;
background:#000 url(URL_DA_IMAGEM); /*cor do fundo ou imagem de fundo */
list-style:none;
z-index:999;
font-size:18px; /* tamanho da fonte */
-webkit-box-shadow: 0px 1px 7px 1px rgba(0, 0, 0, 0.4);
box-shadow: 0px 1px 7px 1px rgba(0, 0, 0, 0.4);
}
#menu_fixo li {
display: inline;
float:left;
margin:0px 30px; /* margens do menu*/
height:41px; /* altura do link, ajuste conforme a altura do menu */
line-height:41px; /* igual ao valor acima */
-webkit-transition: all 200ms ease;
-moz-transition: all 200ms ease;
-ms-transition: all 200ms ease;
-o-transition: all 200ms ease;
transition: all 200ms ease;
text-shadow: 1px 1px 3px #696969;
filter: dropshadow(color=#696969, offx=1, offy=1);
}
#menu_fixo a {
padding:0px 10px;
color:#fff; /* cor do texto do link */
-webkit-transition: all 200ms ease;
-moz-transition: all 200ms ease;
-ms-transition: all 200ms ease;
-o-transition: all 200ms ease;
transition: all 200ms ease;
}
#menu_fixo li:hover {
background: rgba(255,255,255,0.8); /* fundo da link quando mouse está em cima */
border:1px solid #fff; /*borda do link quando mouse está em cima*/
-webkit-box-shadow: 0px 0px 7px 1px #2288bb;
box-shadow: 0px 0px 7px 1px #2288bb;
}
#menu_fixo li:hover a {
color:#2288bb;/*cor do link quando mouse está em cima*/
text-decoration:none;
text-shadow: 1px 1px 3px #f2f2f2;
filter: dropshadow(color=#f2f2f2, offx=1, offy=1);
}


Vá fazendo as modificações e visualizando, tome cuidado com as alturas pois elas tem valores dependentes umas das outras! Você pode adicionar muitos mais atributos para o menu, mas como essa aula não é sobre CSS, só adicionei o básico para ficar com uma aparência bem agradável, o resto é com você! Depois disso, salve o modelo e pronto, seu menu fixo está pronto!


Qualquer dúvida, erro ou sugestão comente! Não esqueça de seguir e partilhar o blog, nos siga nas redes sociais! Obrigado!

Compartilhe essa postagem!

Comentários
24 Comentários

24 comentários:

  1. Parabéns pelo blog! Amei o menu! Ajudará muita, gente, viu? <3

    Beijos, Tentando Esquecer

    ResponderExcluir
  2. Quando coloca ]]>. no meu blog não aparece nada...
    da texto não encontrado :(

    ResponderExcluir
    Respostas
    1. Olá Greice! Isso é estranho...tenha certeza de que você está pesquisando o texto certo, no lugar certo. Tente mudar de navegador, tente procurar apenas por ...Se não funcionar, observe que esse é o código que limita a parte CSS do modelo, então, é uma parte que fica destacada (normalmente em azul)...O importante é você colar o código na área referente ao CSS, de uma maneira que não prejudique nenhum outro bloco de código. Tente essas dicas...procure a olho mesmo, se não funcionar seu template deve estar modificado.

      Espero ter ajudado! Obrigado!

      Giovanni - Íntegra Studio

      Excluir
    2. Corrigindo: Tente procurar apenas por "/b:skin". (sem aspas)

      Excluir
  3. Muito útil! Valeu amigo por compartilhar isso conosco =D

    ResponderExcluir
  4. Amei!! Tava procurando há muito tempo!
    Mas, como colocar os links no centro do menu?
    Tentei de tudo mas só fica no canto esquerdo.

    Obrigada

    ResponderExcluir
    Respostas
    1. Olá Alycia! Que bom que gostou!
      Para centralizar uniformemente você pode fazer o seguinte: atribuir um width em porcentagem para cada li, dependendo do número de link do seu menu. Se seu menu tiver 5 link, adicione li{ width:20%}, porque 100/5 =20. Deu pra entender?

      Agora se quiser centralizar tudo juntinho, adicione um margin-left para o li:first-child, e vá alterando o valor até centralizar direitinho.
      #menu_fixo li:first-child {...margin-left:15%; ...}

      Não testei nenhum dos casos, mas acho que pelo menos o primeiro funciona. Espero ter ajudado!

      Excluir
  5. Deu super certo. Parabéns, ótimo tutorial :D

    ResponderExcluir
  6. Gostei do resultado,fiz as alterações e tudo,mas falta um dos links aparecer no menu... ficou um deles sozinho no rodapé,o que eu faço?

    ResponderExcluir
    Respostas
    1. Estranho...provavelmente o trecho referente ao link não está entre "<ul id='menu-fixo>" e "</ul>". Ou ele esta configurado com uma posição CSS fixa ou absoluta. Mande o código que talvez eu consiga te ajudar :). Obrigado!

      Excluir
  7. Isso serve para blogger 2014 ?

    Eu não consegui :/

    ResponderExcluir
    Respostas
    1. Serve sim, serve para qualquer plataforma com suas devidas alterações!

      Excluir
  8. Isto realmente cria um menu de páginas mas ele não rola com a página conforme ando para baixo. Fica sempre parado no local onde o coloco. :(

    ResponderExcluir
    Respostas
    1. O menu não fica fixo no topo? Pode ser algum conflito com outro código...

      Excluir
  9. Olá,
    bom,eu fiz isso no meu blog de testes e deu perfeitamente o que eu queria,e então eu fiz no meu tudo exatamente igual,com calma certinho mas ficou abaixo do cabeçalho em letras miúdas no canto o menu,e esse não foi o primeiro menu a acontecer isso. Poderia me ajudar?Aguardo a resposta.

    ResponderExcluir
    Respostas
    1. Olá!
      Talvez exista algum outro trecho de CSS que conflite com o do menu. Tente adicionar alguns !important no código CSS e vê se funciona. Se não conseguir resolver, entra em contato comigo pelo Fiverr que a gente resolve rapidinho!
      https://www.fiverr.com/integrastudio

      Obrigado! Espero que funcione

      Excluir
  10. O meu menu não esta como o modelo que você colocou como exempli. Tem uma "barrinhas" separando as palavras, como faço pra tirar elas ? Obrigado, seu blog é muito bom.

    ResponderExcluir
    Respostas
    1. Estranho...Isso provavelmente é de algum código CSS herdado de outra parte do documento. Verifique se não existe nenhum "border"sendo atribuído por um elemento pai, ou algo do tipo. Utilize a ferramenta "Inspecionar" do navegador (botão direito) para facilitar. Não sei se consegui te ajudar.

      Obrigado mesmo e desculpa a demora!

      Excluir