Ícones Animados para Redes Sociais
Autor: Roberta Silva | Publicado: 2016-12-26T10:12:00-02:00




Quem aí está animado com a chegada do novo ano? Acho que muita gente se anima nessa época e é possível trazer um pouco dessa animação para seu blog.

Nesse post vou mostrar como deixar seus ícones de redes sociais animados com css, mas você pode aplicar o efeito a qualquer coisa que quiser em seu layout.


Para fazer isso, não vou usar imagem nenhuma, mas sim uma fonte de ícones (tem quase todos que se possa imaginar) chamada FontAwesome, que mencionei nesse post, no tutorial do Helplogger. Se você já tem a fonte em seu template, beleza! Se não, adicione-a abaixo de &lt;head&gt; no html do seu modelo.

&lt;link href='https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css' rel='stylesheet'/&gt;

Para usar os ícones:

&lt;i class='fa fa-nomedoicone'/&gt;

Por exemplo, se quiser usar o ícone do Facebook, mude nomedoicone para facebook; se quiser uma patinha, mude nomedoicone para paw... Aqui tem a lista de todos os ícones que a fonte permite adicionar: icons.
Mas precisamos primeiro incluir um estilo geral, para que o código acima vá dentro da id que será criada; vamos personalizar: cole isso onde quiser que os ícones apareçam:
 &lt;style&gt;
#fawesomeicons a {
color: deeppink;
display: inline-block;
font-size: 20px;
margin: 0 6px 6px;
font-family: fontawesome;
}
#fawesomeicons a:hover{
color: #fcc;
}
&lt;/style&gt;
&lt;center&gt;
&lt;div id='fawesomeicons'&gt;
&lt;a href='http://facebook.com/' title='Facebook'&gt;&lt;i class='fa fa-facebook'/&gt;&lt;/a&gt;
&lt;a href='https://plus.google.com/' title='Google+'&gt;&lt;i class='fa fa-google-plus'/&gt;&lt;/a&gt;
&lt;a href='https://twitter.com/' title='Twitter'&gt;&lt;i class='fa fa-twitter'/&gt;&lt;/a&gt;
&lt;a href='http://weheartit.com/' title='Weheartit'&gt;&lt;i class='fa fa-heart'/&gt;&lt;/a&gt; 
&lt;/div&gt;
&lt;/center&gt; 


Substitua os links pelos seus. O resultado será como na imagem abaixo:




Agora, vamos animar! É possível personalizar cada ícone separadamente. O segredo está no código que se coloca em hover, quando o mouse passa sobre o ícone. Como exemplo, vou mostrar como apliquei o efeito bounce e pulse nos ícones que uso atualmente. Cole antes de &lt;/style&gt; do código anterior:
 #fawesomeicons a .fa-facebook {
 font-family:'FontAwesome';
 background: deeppink;
 background-size: 100px;
    border-radius: 10px;
    padding: 5px 15px 5px 5px;
    color: white;
}
/*EFEITO BOUNCE*/
#fawesomeicons a .fa-facebook:hover {
  -webkit-animation: bounce .9s 1;
     -moz-animation: bounce .9s 1;
       -o-animation: bounce .9s 1;
          animation: bounce .9s 1;
}
@-webkit-keyframes bounce{0%,100%,20%,53%,80%{-webkit-animation-timing-function:cubic-bezier(0.215,.61,.355,1);
animation-timing-function:cubic-bezier(0.215,.61,.355,1);
-webkit-transform:translate3d(0,0,0);
transform:translate3d(0,0,0)}
40%,43%{-webkit-animation-timing-function:cubic-bezier(0.755,.050,.855,.060);
animation-timing-function:cubic-bezier(0.755,.050,.855,.060);
-webkit-transform:translate3d(0,-30px,0);
transform:translate3d(0,-30px,0)}
70%{-webkit-animation-timing-function:cubic-bezier(0.755,.050,.855,.060);
animation-timing-function:cubic-bezier(0.755,.050,.855,.060);
-webkit-transform:translate3d(0,-15px,0);transform:translate3d(0,-15px,0)}
90%{-webkit-transform:translate3d(0,-4px,0);transform:translate3d(0,-4px,0)}
}
@keyframes bounce{0%,100%,20%,53%,80%{-webkit-animation-timing-function:cubic-bezier(0.215,.61,.355,1);
animation-timing-function:cubic-bezier(0.215,.61,.355,1);
-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}
40%,43%{-webkit-animation-timing-function:cubic-bezier(0.755,.050,.855,.060);
animation-timing-function:cubic-bezier(0.755,.050,.855,.060);
-webkit-transform:translate3d(0,-30px,0);transform:translate3d(0,-30px,0)}
70%{-webkit-animation-timing-function:cubic-bezier(0.755,.050,.855,.060);
animation-timing-function:cubic-bezier(0.755,.050,.855,.060);
-webkit-transform:translate3d(0,-15px,0);transform:translate3d(0,-15px,0)}
90%{-webkit-transform:translate3d(0,-4px,0);transform:translate3d(0,-4px,0)}}
.bounce{-webkit-animation-name:bounce;animation-name:bounce;
-webkit-transform-origin:center bottom;
transform-origin:center bottom} 


Para aplicar em outro, repita o código trocando a palavra facebook pelo nome do ícone que deseja animar.

No coração, apliquei o efeito pulse:
 #fawesomeicons a .fa-heart {
color: red;
-webkit-transition: all 0.4s linear;
-moz-transition: all 0.4s linear;
transition: all 0.4s linear;
}
#fawesomeicons a .fa-heart:hover{
-webkit-animation: smallToBig 300ms alternate infinite ease;
-moz-animation: smallToBig 300ms alternate infinite ease;
}
@-webkit-keyframes smallToBig{from {-webkit-transform: scale(1);}to {-webkit-transform: scale(1.1);}}
@-moz-keyframes smallToBig{from {-moz-transform: scale(1);}to {-moz-transform: scale(1.1);}} 



E pode aplicar mais efeitos que quiser, como esse (shake)&nbsp;e outros que postei pelo blog, lembra do menu de marshmallow? Fica super fofo. Bye!



Imagem: Weheartit.com