PLAY
Últimos artigos
Página inicial
Compartilhar
Escrever artigo
Denunciar
Atalhos no teclado
Enviar feedback
Sobre a Wikiblogs
Voltar
Atualizar página
Sugestões de pesquisa
Carregando...
Start a Hangout
Iniciar um Hangout sobre essa página
Avançado
Mostrando postagens com marcador Avançado. Mostrar todas as postagens
Mostrando postagens com marcador Avançado. Mostrar todas as postagens

segunda-feira, 24 de setembro de 2012

Animation e keyframes (Avançado)

Depois de muito procurar na internet, não achei um tutorial bom que ensinasse a mexer com "-webkit-animation", então decidi fazer um eu mesmo para ensinar melhor aos alheios com esse tipo de propriedade.

Descrição

Com o "-webkit-animation", podemos criar animações, que podem substituir imagens animadas, animações em Flash, e JavaScripts em muitas páginas da web.

Para criar animações em CSS3, você vai ter que aprender sobre a regra @ keyframes.

A regra @ keyframes é onde a animação é criada. Especifique um estilo CSS dentro da regra @ keyframes e a animação irá mudar gradualmente a partir do estilo atual para o novo estilo.

Prefixo

Para começar, primeiramente claro que temos que colocar um prefixo de animation. No Firefox é prefixo o "-moz-", Chrome e Safari usam o prefixo "-webkit-", Opera requer o prefixo "-o-" e ainda existe um outro que é "-ms-", mais eu não sei de qual é o navegador.

Exemplo: @-webkit-keyframes roll /* Safari e Chrome */ { 100% {-webkit-transform: rotate(360deg);} } @-moz-keyframes roll /* Firefox */ { 100% {-moz-transform: rotate(360deg);} } @-o-keyframes roll /* Opera */ { 100% {-o-transform: rotate(360deg);} } @-ms-keyframes roll { 100% {-ms-transform: rotate(360deg);} } @keyframes roll { 100% {transform: rotate(360deg);} }

No exemplo eu coloquei um uma animação de rotação.

Agora nós criamos uma classe que irá receber a animação, e na classe especificamos o nome do que demos no @ keyframes (no caso "roll") e também colocamos o duração da animação.

Exemplo: div { -webkit-animation: roll 5s; /* Safari e Chrome */ -moz-animation: roll 5s; /* Firefox */ -o-animation: roll 5s; /* Opera */ -ms-animation: roll 5s; animation: roll 5s; } Avançado

Ainda existe outras propriedades que podem ajudar na hora de especificar a animação.

div { /* Chrome e Safari: */ -webkit-animation-name: roll; -webkit-animation-duration: 5s; -webkit-animation-timing-function: linear; -webkit-animation-delay: 2s; -webkit-animation-iteration-count: infinite; -webkit-animation-direction: alternate; -webkit-animation-play-state: running; /* Firefox: */ -moz-animation-name: roll; -moz-animation-duration: 5s; -moz-animation-timing-function: linear; -moz-animation-delay: 2s; -moz-animation-iteration-count: infinite; -moz-animation-direction: alternate; -moz-animation-play-state: running; /* Opera: */ -o-animation-name: roll; -o-animation-duration: 5s; -o-animation-timing-function: linear; -o-animation-delay: 2s; -o-animation-iteration-count: infinite; -o-animation-direction: alternate; -o-animation-play-state: running; /* Opera: */ -o-animation-name: roll; -o-animation-duration: 5s; -o-animation-timing-function: linear; -o-animation-delay: 2s; -o-animation-iteration-count: infinite; -o-animation-direction: alternate; -o-animation-play-state: running; -ms-animation-name: roll; -ms-animation-duration: 5s; -ms-animation-timing-function: linear; -ms-animation-delay: 2s; -ms-animation-iteration-count: infinite; -ms-animation-direction: alternate; -ms-animation-play-state: running; animation-name: roll; animation-duration: 5s; animation-timing-function: linear; animation-delay: 2s; animation-iteration-count: infinite; animation-direction: alternate; animation-play-state: running; } A mesma animação que a de acima, utilizando a propriedade de animação abreviada: -webkit-animation: roll 5s linear 2s infinite alternate; -moz-animation: roll 5s linear 2s infinite alternate; -o-animation: roll 5s linear 2s infinite alternate; -ms-animation: roll 5s linear 2s infinite alternate; animation: roll 5s linear 2s infinite alternate;
PropriedadeDescriçãoPadrão
animationUma propriedade abreviação para todas as propriedades de animação, com exceção da propriedade de animation-play-state
animation-nameEspecifica o nome da animação @ keyframes0
animation-durationEspecifica quantos segundos ou milissegundos uma animação leva para completar um ciclo.0
animation-timing-functionDescreve como a animação vai avançar mais um ciclo de sua duração.ease
animation-delayEspecifica quando a animação vai começar.0
animation-iteration-countEspecifica o número de vezes que uma animação é reproduzida.1
animation-directionEspecifica se ou não a animação deve jogar no reverso em ciclos alternados.
animation-play-stateEspecifica se a animação está em execução ou em pausa.
Exemplo: <!DOCTYPE html> <html> <head> <title>Demo: animation - Wikiblogs</title> <style type="text/css"> .Ftc { width: 100px;height: 100px;background: red;-webkit-animation: roll 5s linear 1s infinite alternate;-moz-animation: roll 5s linear 1s infinite alternate;-o-animation: roll 5s linear 1s infinite alternate;-ms-animation: roll 5s linear 2s infinite alternate;animation: roll 5s linear 2s infinite alternate;} @-webkit-keyframes roll { 100% {-webkit-transform: rotate(360deg);}} @-moz-keyframes roll { 100% {-moz-transform: rotate(360deg);}} @-o-keyframes roll { 100% {-o-transform: rotate(360deg);}} @-ms-keyframes roll { 100% {-ms-transform: rotate(360deg);}} @keyframes roll{ 100% {transform: rotate(360deg);}} </style> </head> <body> <div class="Ftc"></div> </body> </html>

Bom, é isso. Alguma dúvida ou pergunta, deixe em um comentário.

Continue lendo »

quinta-feira, 30 de agosto de 2012

Personalizar as barras de rolagem da página

Certamente você já deve ter visto em algum site uma barra de rolagem personalizada (Como no Facebook, Google+, etc), bom neste tutorial vou ensinar a fazer esse mesmo efeito. Primeiramente abra o bloco de notas no seu windows e cole o código abaixo (ou edite na caixa mesmo). ::-webkit-scrollbar {width: 11px;height: 11px;} ::-webkit-scrollbar-track-piece:vertical {background: white;border-left:1px solid #444} ::-webkit-scrollbar-track-piece:horizontal {background: white;border-top:1px solid #444} ::-webkit-scrollbar-thumb:vertical {height: 20px;background: #545454;border: 1px solid #333;border-radius: 8px;} ::-webkit-scrollbar-thumb:horizontal {height: 20px;background: #545454;border: 1px solid #333;border-radius: 8px;} Alter os valores como desejar.

  • Na primeira linha você define a largura (width) e a altura (height).
  • Na segunda linha você personaliza a parte da barra que não se mexe (a parte branca).
  • Na terceira linha você colocar o mesmo código da segunda (a terceira linha é para personalizar a parte branca da barra de rolagem de baixo da página).
  • Na quarta linha você personsonaliza a barra que o usuário vai puxar para descer no site. (coloque o mesmo código na quinta linha).
background: #545454; (cor do plano de fundo)
border: 1px solid #333; (bordas)
border-radius: 8px; (arredondar as bordas)
Para achar as cores certas, use uma tabela de cores. Depois coloque esse código na tag style do seu site ou se estiver no blogger coloque antes de ]]>
.
Avançado

Em alguns sites, não fica legal usar barra de rolagem em tudo, e um jeito de personalizar somente em alguns elementos é colocar uma classe para para a scrollbar. Para isso basta colocar na frente de cada linha a classe que deseja usar a scrollbar personalizada. Exemplo: .dsw::-webkit-scrollbar-thumb:vertical {height: 20px;background-color: rgba(0,0,0,.5);border:1px solid rgba(0,0,0,.2)} Ou usar com uma ID: #dsw::-webkit-scrollbar-thumb:vertical {height: 20px;background-color: rgba(0,0,0,.5);border:1px solid rgba(0,0,0,.2)} Ou em uma Tag especifíca: div::-webkit-scrollbar-thumb:vertical {height: 20px;background-color: rgba(0,0,0,.5);border:1px solid rgba(0,0,0,.2)} Pronto agora o seu site tem barras de rolagem personalizadas.
Aviso: Este código só funciona no navegador Google Chrome.
Continue lendo »