WEBVTT
00:00:00.903 --> 00:00:05.281
Ok, a esta altura você deve estar
discutindo se usará set interval
00:00:05.322 --> 00:00:07.997
ou request animation frame para
fazer uma animação.
00:00:08.532 --> 00:00:12.701
Mas eu estou aqui para colocar
mais lenha nessa fogueira.
00:00:13.728 --> 00:00:20.103
No Chrome, Firefox, e IE 10 em diante,
é possível fazer animações usando CSS,
00:00:20.222 --> 00:00:24.499
sem escrever uma linha de JavaScript.
00:00:24.949 --> 00:00:30.023
Vamos comentar nosso código para
tentar isso na animação "Óh não".
00:00:31.036 --> 00:00:36.433
Apenas o envolva em um grande
comentário de múltiplas linhas.
00:00:36.814 --> 00:00:40.384
Começaremos adicionando
a tag style à página,
00:00:40.890 --> 00:00:44.630
e algo que se parece com uma regra CSS,
00:00:44.693 --> 00:00:47.793
mas é na verdade uma definição de animação
00:00:48.250 --> 00:00:56.444
Escreveremos #KeyFrames, e um nome
para a animação, getBigger, e colchetes.
00:00:57.263 --> 00:01:02.243
Precisamos de dois estados: from e to
00:01:02.243 --> 00:01:07.458
para uma animação simples, que vai
de um estado para outro
00:01:07.488 --> 00:01:12.403
dentro do from descreveremos
a propriedade CSS inicial,
00:01:12.453 --> 00:01:16.084
se lembra que haviamos
definido que seria 50px?
00:01:16.477 --> 00:01:21.707
Dentro do to descreveremos
a propriedade CSS final,
00:01:21.747 --> 00:01:25.533
parece que era 300px, está lembrado?
00:01:26.490 --> 00:01:29.219
Uma vez que definimos a animação,
00:01:29.263 --> 00:01:32.448
precisamos contar ao navegador
qual elemento fará uso dela.
00:01:33.642 --> 00:01:37.879
Então adicionaremos uma regra
CSS normal para "Óh não"
00:01:38.679 --> 00:01:47.080
e especificamos getBigger, que é o
nome da animação, e sua duração,
00:01:47.129 --> 00:01:51.540
que é três segundos, em seu interior.
00:01:53.245 --> 00:01:56.661
Dependendo do navegador que
estiver usando, alguns devem
00:01:56.707 --> 00:01:59.125
estar pensando, uau, legal, funciona!
00:01:59.157 --> 00:02:03.763
mas em alguns navegadores como Safari
ou Chrome, talvez não funcione.
00:02:03.820 --> 00:02:08.185
Isso ocorre por conta do que chamamos
de prefixo de fabricante.
00:02:09.947 --> 00:02:15.775
As vezes o navegador decide implementar
uma funcionalidade nova,
00:02:16.253 --> 00:02:21.050
o fabricante põe o prefixo indicando
que essa funcionalidade é experimental,
00:02:21.100 --> 00:02:24.610
representa apenas a visão do fabricante
e provavelmente mudará mais tarde.
00:02:24.943 --> 00:02:29.533
Para que isso funcione no Chrome,
caso ainda não esteja funcionando
00:02:29.663 --> 00:02:33.763
temos que fazer tudo que ja foi dito,
e colocar -webkit na frente,
00:02:34.814 --> 00:02:37.500
então replicamos essa parte
00:02:38.232 --> 00:02:43.275
e escrevemos -webkit- aqui, e então aqui
00:02:43.836 --> 00:02:48.901
replicaremos isso e adicionaremos
-webkit-, e -webkit-
00:02:50.485 --> 00:02:54.870
Legal, agora está aumentando
para todos os navegadores
00:02:54.981 --> 00:02:58.326
e quem sabe quando você
assistir essa vídeo aula,
00:02:58.406 --> 00:03:00.761
esses prefixos já nem sejam
mais necessários
00:03:00.930 --> 00:03:02.676
mas é bom saber que eles existem,
00:03:02.696 --> 00:03:06.212
pois você pode precisar usá-los para
outras funcionalidades algum dia.
00:03:08.262 --> 00:03:11.260
Há também, mais uma maneira de
fazer animações com CSS,
00:03:11.742 --> 00:03:14.419
usando as propriedades de transição,
00:03:14.509 --> 00:03:19.621
que instruem o navegador como fazer a
transição suave entre as propriedades.
00:03:20.767 --> 00:03:27.755
Vejamos como aumentar a fonte do contador
quando o mouse estiver sobre ele
00:03:28.340 --> 00:03:33.074
Podemos fazer em javascript, associando um
event listener ao evento mouse over,
00:03:33.242 --> 00:03:37.207
e usar request animation frame para
aumentar a fonte quando necessário
00:03:37.354 --> 00:03:41.283
mas, também podemos fazer
isso inteiramente em CSS.
00:03:42.121 --> 00:03:47.799
Vamos pensar em como fazer
isso à maneira CSS
00:03:48.419 --> 00:03:54.534
podemos usar uma regra hover,
digamos #countdown hover
00:03:54.534 --> 00:04:00.465
e então font size 150px.
00:04:00.870 --> 00:04:07.038
Só precisamos dizer ao navegador que faça
a transição da propriedade font size,
00:04:07.072 --> 00:04:17.994
informando sua duração, digamos
transition font-size 1 second linear
00:04:19.450 --> 00:04:25.420
Agora pause a vídeo aula, passe o mouse
sobre o texto e veja o que acontece.
00:04:26.000 --> 00:04:31.168
Se você está usando, Chrome, Firefox, ou
IE 10 em diante, isso deve funcionar
00:04:31.261 --> 00:04:35.564
e nem foi necessário usar os prefixos
de fabricante nessa técnica.
00:04:35.608 --> 00:04:39.100
Você pode fazer muito mais em
animações e transições com CSS
00:04:39.140 --> 00:04:42.661
e os navegadores estão executando elas
cada vez mais graciosa e rapidamente
00:04:42.707 --> 00:04:45.442
então, eu aconselho que você
as explore bem mais a fundo.
00:04:45.452 --> 00:04:49.962
Revisado por [Fernando dos Reis]