-
Ok, a esta altura você deve estar
discutindo se usará set interval
-
ou request animation frame para
fazer uma animação.
-
Mas eu estou aqui para colocar
mais lenha nessa fogueira.
-
No Chrome, Firefox, e IE 10 em diante,
é possível fazer animações usando CSS,
-
sem escrever uma linha de JavaScript.
-
Vamos comentar nosso código para
tentar isso na animação "Óh não".
-
Apenas o envolva em um grande
comentário de múltiplas linhas.
-
Começaremos adicionando
a tag style à página,
-
e algo que se parece com uma regra CSS,
-
mas é na verdade uma definição de animação
-
Escreveremos #KeyFrames, e um nome
para a animação, getBigger, e colchetes.
-
Precisamos de dois estados: from e to
-
para uma animação simples, que vai
de um estado para outro
-
dentro do from descreveremos
a propriedade CSS inicial,
-
se lembra que haviamos
definido que seria 50px?
-
Dentro do to descreveremos
a propriedade CSS final,
-
parece que era 300px, está lembrado?
-
Uma vez que definimos a animação,
-
precisamos contar ao navegador
qual elemento fará uso dela.
-
Então adicionaremos uma regra
CSS normal para "Óh não"
-
e especificamos getBigger, que é o
nome da animação, e sua duração,
-
que é três segundos, em seu interior.
-
Dependendo do navegador que
estiver usando, alguns devem
-
estar pensando, uau, legal, funciona!
-
mas em alguns navegadores como Safari
ou Chrome, talvez não funcione.
-
Isso ocorre por conta do que chamamos
de prefixo de fabricante.
-
As vezes o navegador decide implementar
uma funcionalidade nova,
-
o fabricante põe o prefixo indicando
que essa funcionalidade é experimental,
-
representa apenas a visão do fabricante
e provavelmente mudará mais tarde.
-
Para que isso funcione no Chrome,
caso ainda não esteja funcionando
-
temos que fazer tudo que ja foi dito,
e colocar -webkit na frente,
-
então replicamos essa parte
-
e escrevemos -webkit- aqui, e então aqui
-
replicaremos isso e adicionaremos
-webkit-, e -webkit-
-
Legal, agora está aumentando
para todos os navegadores
-
e quem sabe quando você
assistir essa vídeo aula,
-
esses prefixos já nem sejam
mais necessários
-
mas é bom saber que eles existem,
-
pois você pode precisar usá-los para
outras funcionalidades algum dia.
-
Há também, mais uma maneira de
fazer animações com CSS,
-
usando as propriedades de transição,
-
que instruem o navegador como fazer a
transição suave entre as propriedades.
-
Vejamos como aumentar a fonte do contador
quando o mouse estiver sobre ele
-
Podemos fazer em javascript, associando um
event listener ao evento mouse over,
-
e usar request animation frame para
aumentar a fonte quando necessário
-
mas, também podemos fazer
isso inteiramente em CSS.
-
Vamos pensar em como fazer
isso à maneira CSS
-
podemos usar uma regra hover,
digamos #countdown hover
-
e então font size 150px.
-
Só precisamos dizer ao navegador que faça
a transição da propriedade font size,
-
informando sua duração, digamos
transition font-size 1 second linear
-
Agora pause a vídeo aula, passe o mouse
sobre o texto e veja o que acontece.
-
Se você está usando, Chrome, Firefox, ou
IE 10 em diante, isso deve funcionar
-
e nem foi necessário usar os prefixos
de fabricante nessa técnica.
-
Você pode fazer muito mais em
animações e transições com CSS
-
e os navegadores estão executando elas
cada vez mais graciosa e rapidamente
-
então, eu aconselho que você
as explore bem mais a fundo.
-
Revisado por [Fernando dos Reis]