1 00:00:00,903 --> 00:00:05,281 Ok, a esta altura você deve estar discutindo se usará set interval 2 00:00:05,322 --> 00:00:07,997 ou request animation frame para fazer uma animação. 3 00:00:08,532 --> 00:00:12,701 Mas eu estou aqui para colocar mais lenha nessa fogueira. 4 00:00:13,728 --> 00:00:20,103 No Chrome, Firefox, e IE 10 em diante, é possível fazer animações usando CSS, 5 00:00:20,222 --> 00:00:24,499 sem escrever uma linha de JavaScript. 6 00:00:24,949 --> 00:00:30,023 Vamos comentar nosso código para tentar isso na animação "Óh não". 7 00:00:31,036 --> 00:00:36,433 Apenas o envolva em um grande comentário de múltiplas linhas. 8 00:00:36,814 --> 00:00:40,384 Começaremos adicionando a tag style à página, 9 00:00:40,890 --> 00:00:44,630 e algo que se parece com uma regra CSS, 10 00:00:44,693 --> 00:00:47,793 mas é na verdade uma definição de animação 11 00:00:48,250 --> 00:00:56,444 Escreveremos #KeyFrames, e um nome para a animação, getBigger, e colchetes. 12 00:00:57,263 --> 00:01:02,243 Precisamos de dois estados: from e to 13 00:01:02,243 --> 00:01:07,458 para uma animação simples, que vai de um estado para outro 14 00:01:07,488 --> 00:01:12,403 dentro do from descreveremos a propriedade CSS inicial, 15 00:01:12,453 --> 00:01:16,084 se lembra que haviamos definido que seria 50px? 16 00:01:16,477 --> 00:01:21,707 Dentro do to descreveremos a propriedade CSS final, 17 00:01:21,747 --> 00:01:25,533 parece que era 300px, está lembrado? 18 00:01:26,490 --> 00:01:29,219 Uma vez que definimos a animação, 19 00:01:29,263 --> 00:01:32,448 precisamos contar ao navegador qual elemento fará uso dela. 20 00:01:33,642 --> 00:01:37,879 Então adicionaremos uma regra CSS normal para "Óh não" 21 00:01:38,679 --> 00:01:47,080 e especificamos getBigger, que é o nome da animação, e sua duração, 22 00:01:47,129 --> 00:01:51,540 que é três segundos, em seu interior. 23 00:01:53,245 --> 00:01:56,661 Dependendo do navegador que estiver usando, alguns devem 24 00:01:56,707 --> 00:01:59,125 estar pensando, uau, legal, funciona! 25 00:01:59,157 --> 00:02:03,763 mas em alguns navegadores como Safari ou Chrome, talvez não funcione. 26 00:02:03,820 --> 00:02:08,185 Isso ocorre por conta do que chamamos de prefixo de fabricante. 27 00:02:09,947 --> 00:02:15,775 As vezes o navegador decide implementar uma funcionalidade nova, 28 00:02:16,253 --> 00:02:21,050 o fabricante põe o prefixo indicando que essa funcionalidade é experimental, 29 00:02:21,100 --> 00:02:24,610 representa apenas a visão do fabricante e provavelmente mudará mais tarde. 30 00:02:24,943 --> 00:02:29,533 Para que isso funcione no Chrome, caso ainda não esteja funcionando 31 00:02:29,663 --> 00:02:33,763 temos que fazer tudo que ja foi dito, e colocar -webkit na frente, 32 00:02:34,814 --> 00:02:37,500 então replicamos essa parte 33 00:02:38,232 --> 00:02:43,275 e escrevemos -webkit- aqui, e então aqui 34 00:02:43,836 --> 00:02:48,901 replicaremos isso e adicionaremos -webkit-, e -webkit- 35 00:02:50,485 --> 00:02:54,870 Legal, agora está aumentando para todos os navegadores 36 00:02:54,981 --> 00:02:58,326 e quem sabe quando você assistir essa vídeo aula, 37 00:02:58,406 --> 00:03:00,761 esses prefixos já nem sejam mais necessários 38 00:03:00,930 --> 00:03:02,676 mas é bom saber que eles existem, 39 00:03:02,696 --> 00:03:06,212 pois você pode precisar usá-los para outras funcionalidades algum dia. 40 00:03:08,262 --> 00:03:11,260 Há também, mais uma maneira de fazer animações com CSS, 41 00:03:11,742 --> 00:03:14,419 usando as propriedades de transição, 42 00:03:14,509 --> 00:03:19,621 que instruem o navegador como fazer a transição suave entre as propriedades. 43 00:03:20,767 --> 00:03:27,755 Vejamos como aumentar a fonte do contador quando o mouse estiver sobre ele 44 00:03:28,340 --> 00:03:33,074 Podemos fazer em javascript, associando um event listener ao evento mouse over, 45 00:03:33,242 --> 00:03:37,207 e usar request animation frame para aumentar a fonte quando necessário 46 00:03:37,354 --> 00:03:41,283 mas, também podemos fazer isso inteiramente em CSS. 47 00:03:42,121 --> 00:03:47,799 Vamos pensar em como fazer isso à maneira CSS 48 00:03:48,419 --> 00:03:54,534 podemos usar uma regra hover, digamos #countdown hover 49 00:03:54,534 --> 00:04:00,465 e então font size 150px. 50 00:04:00,870 --> 00:04:07,038 Só precisamos dizer ao navegador que faça a transição da propriedade font size, 51 00:04:07,072 --> 00:04:17,994 informando sua duração, digamos transition font-size 1 second linear 52 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. 53 00:04:26,000 --> 00:04:31,168 Se você está usando, Chrome, Firefox, ou IE 10 em diante, isso deve funcionar 54 00:04:31,261 --> 00:04:35,564 e nem foi necessário usar os prefixos de fabricante nessa técnica. 55 00:04:35,608 --> 00:04:39,100 Você pode fazer muito mais em animações e transições com CSS 56 00:04:39,140 --> 00:04:42,661 e os navegadores estão executando elas cada vez mais graciosa e rapidamente 57 00:04:42,707 --> 00:04:45,442 então, eu aconselho que você as explore bem mais a fundo. 58 00:04:45,452 --> 00:04:49,962 Revisado por [Fernando dos Reis]