Jumat, 16 April 2010

Menu Horizontal com CSS e Jquery



Em um dos meus blogs de teste eu instalei este menu criado por Soh do site SohTanaka e que tem um efeito bastante interessante. Você pode conferir o demo aqui.
Me pediram para explicar como colocar este menu no Blogger, então lá vai:

Primeiro você deve criar uma imagem com 80px de altura onde metade de cima dela (40px) aparecerá quando o menu estiver em estado normal e a metade de baixo no estado hover (quando passa o mouse por cima), como neste exemplo:


Hospede a imagem (pode ser no próprio Blogger) e guarde o link. Agora vá em Editar HTML e cole no código do seu template, abaixo de ]]></b:skin>

<style type='text/css'>

.container {
    width: 520px;
    height: 100px;
    position: absolute;
    top: 10%; left: 60%;
    margin: 0px 0 0 -80px;
    overflow: hidden;
}
img {border: none;}
ul#topnav {
    margin: 10px 0 20px;
    padding: 0;
    list-style: none;  
    font-size: 1.1em;
    clear: both;
    float: left;
    width: 520px;
}
ul#topnav li{
    margin: 0;
    padding: 0;
    overflow: hidden;
    float: left;
    height:40px;
}
ul#topnav a, ul#topnav span {
    padding: 10px 10px;
    float: left;
    text-decoration: none;
    color: #fff;
    clear: both;
    height: 20px;
    line-height: 20px;
    background: #1d1d1d;
}
ul#topnav a {    color: #7bc441; }
ul#topnav span {
    display: none;
}

ul#topnav.v2 span{
    background: url(coloque aqui a url da imagem) repeat-x left top;
}
ul#topnav.v2 a{
    color: #555;
    background: url(coloque aqui a url da imagem) repeat-x left bottom;
}
</style>

<script src='http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js' type='text/javascript'/>

<script type='text/javascript'>
$(document).ready(function() {
           $(&quot;#topnav li&quot;).prepend(&quot;<span/>&quot;); //Throws an empty span tag right before the a tag
  
    $(&quot;#topnav li&quot;).each(function() { //For each list item...
        var linkText = $(this).find(&quot;a&quot;).html(); //Find the text inside of the a tag
        $(this).find(&quot;span&quot;).show().html(linkText); //Add the text in the span tag
    });
  
    $(&quot;#topnav li&quot;).hover(function() {    //On hover...
        $(this).find(&quot;span&quot;).stop().animate({
            marginTop: &quot;-40&quot; //Find the span tag and move it up 40 pixels
        }, 250);
    } , function() { //On hover out...
        $(this).find(&quot;span&quot;).stop().animate({
            marginTop: &quot;0&quot; //Move the span back to its original state (0px)
        }, 250);
    });
     
});
</script>

depois, no HTML ( após a tag <body> ) coloque o seguinte trecho, antes ou depois de <div id='header-wrapper'>....</div> :


<div class='container'>

<ul class='v2' id='topnav'>
<li><a href='#'>Home</a></li>
<li><a href='#'>Services</a></li>
<li><a href='#'>Portfolio</a></li>
<li><a href='#'>Blog</a></li>
<li><a href='#'>About</a></li>
<li><a href='#'>Contact</a></li>
</ul>

</div>

No meu exemplo, os códigos foram colocados abaixo de header, assim:

 em container, determinamos as dimensões ocupadas pelo menu, bem como sua posição na página:

.container {
    width: 520px;
    height: 100px;
    position: absolute;
    top: 10%; left: 60%;
    margin:  0px 0 0 -80px;
    overflow: hidden;
}


width: largura total ocupada pela div que contém o menu.
note que em ul#topnav o valor se repete (width: 520px)
top: 10% - distância do menu para o topo da página
left: 60% - distância do menu para o lado esquerdo da página
com margin você também controla a posição do menu. Veja que o menu está a 60% da esquerda da página menos 80px. Vá alterando os valores para que melhor se encaixe no seu layout. 
Coloque a url da sua imagem hospedada (no Blogger ou em outro site) onde está indicado no código CSS em negrito. Substitua os # no HTML do menu pelos links que desejar.

resultado

Minggu, 11 April 2010

Template Televisão



  • Template com cabeçalho dividido para inserção de banner à direita, menu horizontal para lista de links, marcadores ou páginas.
  • Sidebar dividida em três colunas: uma com largura total no topo e duas paralelas abaixo.
  • Footer dividido em 3 colunas.

Neste template o resumo automático não foi utilizado e sim o resumo do Blogger (jump-link). Para utilizá-lo basta clicar no botão assinalado na imagem abaixo:


Uma faixa cinza aparecerá demarcando até que ponto o texto será mostrado na página inicial. Continue a escrever o restante do texto após a faixa. O uso do resumo é opcional e você tem total controle sobre a quantidade de texto a ser mostrado na página inicial. Note no Demo que os primeiros posts estão resumidos mas o último não.

Para alinhar corretamente uma imagem no topo do texto, como mostra o exemplo abaixo, deixe o código da imagem entre as tags <div id='imagem-top'> e </div>,:

imagem dentro do div 'imagem-top'
Como deve ficar o código da imagem

Note que você deve inserir o código clicando em Editar Html. A medida da imagem deve ter largura de 596px e altura de 120px. Se você colocar uma imagem com estas medidas sem utilizar as tags, ela não ficará alinhada como no exemplo. Você pode inserir imagens de qualquer tamanho em seu texto sem o uso da div 'imagem-top', ela serve apenas para alinhar as imagens com as dimensões citadas, para dar um visual interessante aos textos resumidos.

Imagem sem o uso da div 'imagem-top', desalinhada.
 Já no topo da sidebar é possível apresentar imagens como no exemplo abaixo, onde a legenda se sobrepõe a imagem num fundo com opacidade:


Isso nada mais é do que um widget de imagem (use as medidas width: 338px; height:120px; para a imagem), onde você coloca o link para um post e uma legenda (não coloque título no gadget)


Este hack funciona apenas para o topo da sidebar (a primeira divisão) e se você não tem interesse em exibir imagens com a legenda sobreposta, basta arrastar o widget para a seção de baixo. O topo da sidebar pode ser utilizado para exibir qualquer widget normalmente, apenas as legendas aparecerão acima da imagem.


Qualquer modificação que pretenda fazer no layout, será por sua conta e risco.

O  ícone da Tv Plasma  utilizado no layout é de autoria de  Roberto Abril Hidalgo, que gentilmente autorizou a utilização e distribuição do seu trabalho neste template.