Olá, estudante! Boas-vindas a este curso de animações com CSS! Me chamo Monica Hillman e irei te acompanhar nesta jornada.
Audiodescrição: Monica Hillman se identifica como uma mulher de pele clara. Tem olhos castanhos e cabelos castanhos com mechas loiras. Usa óculos de grau com armação de gatinho e piercing no septo. Ao fundo, há uma estante com livros e uma iluminação azul arroxeada.
Durante o curso, desenvolveremos animações na interface da plataforma Meteora. Aplicaremos animações como uma transição suave na abertura do menu de localização, que ficará no cabeçalho da página inicial. Ao clicarmos em "localização" na parte superior esquerda, a lista de opções se abrirá de maneira suave.
Também adicionaremos uma animação ao título que exibirá dinamicamente os dados e categorias disponíveis na plataforma Meteora. Além disso, criaremos animações relacionadas ao scroll da pessoa usuária, fazendo com que os cards dos produtos sejam renderizados conforme a posição na tela.
Implementaremos animações nos modais dos produtos, incluindo um carrossel para alterar as imagens dos produtos. Adicionaremos uma animação de preenchimento aos círculos que indicam a seleção do tamanho do produto. Também incluiremos uma transição suave na mudança de cor de fundo dos botões de "Adicionar à sacola" e aplicaremos animações sobre imagens SVG, como a decoração para favoritar um produto.
Além disso, criaremos uma animação na seção de camisetas, onde um banner acompanhará o scroll da pessoa usuária. Esse tipo de animação é chamado de parallax.
O que será aprendido para desenvolver essas animações? Vamos explorar as propriedades transition
, transform
, animation
e, consequentemente, os keyframes
. Também abordaremos conceitos de HTML e JavaScript para criar animações dinâmicas.
Este curso terá bastante código, então preparem-se para codificar bastante. Aprender esses tópicos é essencial, pois no trabalho diário de uma pessoa desenvolvedora front-end é comum receber animações do time de design e aplicá-las em projetos existentes.
Antes de começar este curso, é importante ter uma base em HTML, CSS e JavaScript, pois não abordaremos conceitos fora do escopo das animações que desenvolveremos.
Se você está interessado em aprender a usar HTML, CSS e JavaScript para criar animações complexas, não deixe de se matricular. Até o próximo vídeo!
No mundo digital, as interfaces desempenham um papel crucial na interação entre a pessoa usuária e a plataforma. Atualmente, não basta que essas interfaces apenas funcionem; elas também devem ser agradáveis e atraentes.
Para garantir isso, utilizamos HTML, CSS e JavaScript. Além disso, podemos enriquecer ainda mais a experiência da pessoa usuária com o uso de animações web.
As animações web podem ser classificadas em várias categorias, uma delas sendo as animações de transição de tela. Essas animações permitem transitar entre diferentes telas ou seções de uma página.
Um exemplo prático é o carrossel encontrado no site da Caixa, acessível em caixa.gov.br. Na primeira seção do site, há um carrossel com três banners.
A transição entre os banners ocorre ao mover o banner atual para a esquerda e trazer o novo banner da direita para a tela.
Existem diferentes tipos de animações, como a animação de foco, a animação de interação e as microinterações. Essas animações respondem às ações da pessoa usuária na tela.
No site da Caixa, por exemplo, no menu hambúrguer do cabeçalho à esquerda, há animações de interação visíveis. Ao passar o mouse sobre o item "Poder Público", o texto muda de cor, o fundo altera a cor e uma sombra é adicionada ao botão. Além disso, um novo elemento aparece com várias opções adicionais, e essa transição é suavizada por uma animação conhecida como fade in.
A ausência de animações pode causar alguns problemas para a pessoa usuária. Sem animações, a pessoa pode se sentir perdida na aplicação, pois pode não entender com o que está passando o mouse ou com o que está interagindo.
Além disso, a falta de animações pode fazer com que a pessoa perca a percepção do tempo e não saiba se algo está sendo carregado ou se a interface está simplesmente parada. Por isso, é importante incluir animações que ajudem a pessoa usuária a entender o que está acontecendo na aplicação.
A consistência visual é crucial em uma aplicação. Se começarmos a usar feedbacks de interação no início da tela, devemos manter o mesmo padrão até o final.
Vamos considerar o site gov.br como exemplo de como a falta de animações pode afetar a usabilidade. Na seção "Serviços para você", há três colunas com vários links: "Recomendados", "Mais acessados" e "Destaque".
Ao passar o mouse sobre os links abaixo desses títulos, não há um feedback claro indicando qual link está sendo selecionado. Com mais de 20 links na tela, essa falta de feedback pode dificultar a navegação e fazer com que a pessoa usuária perca o interesse na página.
Na seção de notícias um pouco mais para baixo, ao passar o mouse sobre o título de uma notícia, a cor da fonte muda. Isso demonstra que, embora não haja feedback visual claro na primeira seção (como nos links mais acessados), ele está presente em outra parte da tela.
A falta de feedback consistente pode levar a pessoa usuária a interpretar que há um problema na primeira seção, quando, na verdade, foi uma escolha de design. Portanto, é crucial garantir a consistência nos feedbacks visuais para evitar confusão e melhorar a experiência da pessoa usuária.
Quando decidimos adicionar animações, devemos focar em dois pontos importantes: sincronização e tempo.
Por exemplo, no menu hambúrguer do site gov.br, o menu abre de forma abrupta, sem animação. Se quisermos adicionar uma animação, como um fade in, precisamos definir um tempo adequado para a transição. A animação não deve ser nem muito rápida nem muito lenta. O tempo ideal pode ser determinado por meio de testes com as pessoas usuárias ou em colaboração com o designer da aplicação, se houver.
A consistência visual é fundamental. Quando definirmos uma animação para um elemento específico, devemos garantir que a mesma animação seja usada sempre que esse elemento aparece na aplicação. É essencial considerar todos esses aspectos ao definir as animações para o projeto da Meteoro que desenvolveremos durante este curso.
Vamos para o próximo vídeo, onde aplicaremos na prática tudo o que aprendemos na análise dos projetos da Caixa e do gov.br, além dos pontos discutidos até agora. Até mais!
Analisamos como diferentes sites utilizam animações. Agora, iniciaremos a construção das nossas próprias animações. Utilizaremos o CodePen como exemplo para a construção e, posteriormente, incorporaremos as animações em um projeto existente chamado Meteora.
Para abrir um projeto no CodePen:
Após clicar em "Pen", temos acesso a blocos separados para "HTML", "CSS" e "JS", onde será possível inserir e testar o código correspondente a cada um desses blocos.
Vamos começar utilizando o bloco de HTML para criar um botão com o texto "Clique Aqui".
HTML
<button>Clique Aqui</button>
Em seguida, aplicaremos estilos a esse botão usando CSS. No bloco de CSS, utilizamos o seletor button
para estilizar o botão. Inseriremos as seguintes propriedades: a cor de fundo como azul usando background-color: blue;
e a cor do texto como branca usando color: white;
.
CSS
button {
background-color: blue;
color: white;
}
Para alterar os estilos do botão com base na interação da pessoa usuária, como passar o mouse sobre ele, podemos usar a pseudo-classe hover.
Utilizamos button:hover
para definir os estilos que serão aplicados quando o mouse passar sobre o botão. Inserimos as seguintes propriedades dentro das chaves: a cor de fundo como branca usando background-color: white;
e a cor do texto como azul usando color: blue;
. Ou seja, estão aplicando uma inversão de cores.
O código CSS será:
button {
background-color: blue;
color: white;
}
button:hover {
background-color: white;
color: blue;
}
Para facilitar a visualização do resultado, passamos o mouse sobre o botão "Clique aqui" na parte inferior esquerda (abaixo do bloco HTML). Observe que as cores do botão serão invertidas quando o mouse estiver sobre ele.
As pseudo-classes permitem definir e alterar os estilos com base na interação da pessoa usuária. O hover é um exemplo de pseudo-classe. Outros exemplos serão fornecidos na atividade para explorar mais sobre essas funcionalidades.
Para aplicar os estilos que visualizamos na aplicação Meteora, seguimos os seguintes passos:
Isso permitirá que você veja as mudanças imediatamente conforme faz ajustes nos estilos.
A instrutora já possui a extensão habilitada em sua máquina.
Verificaremos se já ocorre essa interação no botão "Ver mais" em cada item da loja virtual.
Acessamos o projeto no navegador no endereço 127:0.0.1:5500/index.html
. Passamos o mouse sobre o botão "Ver Mais" em cada item da loja virtual e observamos se há uma mudança de estilo, com a cor do botão mudando de roxo para azul.
Clicamos no botão "Ver Mais" dentro do modal e passamos o mouse sobre "Adicionar à sacola" para verificar se ocorre uma alteração de cor de roxo para branco, mesmo sem a adição de novas regras de estilo.
Certifique-se de que essas interações estejam funcionando conforme esperado.
As animações já presentes no projeto são resultado da biblioteca Bootstrap, que inclui animações embutidas nos elementos que estamos utilizando. Assim, mesmo que não tenhamos adicionado manualmente as pseudo-classes, o Bootstrap já fornece essas animações para os botões e outros componentes no projeto. Portanto, o projeto já vem com essas animações devido ao uso do Bootstrap.
É possível sobrescrever as animações fornecidas pela biblioteca Bootstrap para aplicar o estilo desejado. Não precisamos aceitar todos os padrões definidos pela biblioteca.
Desejamos, por exemplo, alterar o comportamento do botão ao passar o mouse sobre "Adicionar à sacola". Em vez de ficar branco, o botão deve mudar para um roxo mais escuro. Para isso, substituiremos a animação padrão pela nossa própria configuração.
Primeiro, localizamos a classe do botão no arquivo imprimirUmDeCadaCategoria.js
, na pasta js
. A classe está definida na linha 114 como botao-lilas
. Copiamos esse nome e abrimos o arquivo estilos.css
.
Na linha 11, selecionamos a classe .botao-lilas
e adicionamos a pseudo-classe :hover
. Abrimos e fechamos as chaves {}
para definir o estilo desejado para a interação com o mouse.
Dentro das chaves, definimos a propriedade background-color
para alterar a cor de fundo quando o mouse passar sobre o botão. Utilizamos a cor #9353ff como base, e o Visual Studio Code pode sugerir ajustes de cor.
Ele possui um seletor de cores, que arrastando o círculo com bordas brancas para escolher um tom escuro e definindo a cor como #6c38c5
.
estilos.css
/* código omitido */
.botao-lilas:hover {
background-color: #6c38c5;
}
/* código omitido */
Salvamos as alterações e verificamos na aplicação se a cor do botão muda para o tom escuro ao passar o mouse sobre "Adicionar à sacola" dentro do modal. Deu certo!
Além disso, na linha 13 do CSS, alteramos a cor do texto para um tom de cinza, usando a cor #D8D8D8
, em vez de branco puro. Assim, ajustamos a cor do botão e do texto conforme desejado.
/* código omitido */
.botao-lilas:hover {
background-color: #6c38c5;
color: #D8D8D8;
}
/* código omitido */
Quando passamos o mouse sobre o botão "Adicionar à sacola" no nosso servidor local, observamos que a animação é suave, o que não é o esperado com a utilização apenas da pseudo-classe :hover
. Normalmente, ao usar :hover
sem outras configurações, a animação ocorre de forma abrupta e instantânea, sem transição suave.
A animação que estamos observando é fornecida diretamente pelo Bootstrap.
Para criar uma transição mais suave, é necessário conhecer algumas propriedades CSS específicas. Aprenderemos sobre essas propriedades e como aplicá-las no próximo vídeo e na próxima aula.
Te vejo na próxima aula!
O curso UI para devs: construindo interfaces animadas possui 136 minutos de vídeos, em um total de 55 atividades. Gostou? Conheça nossos outros cursos de UI Design em UX & Design, ou leia nossos artigos de UX & Design.
Matricule-se e comece a estudar com a gente hoje! Conheça outros tópicos abordados durante o curso:
Impulsione a sua carreira com os melhores cursos e faça parte da maior comunidade tech.
1 ano de Alura
Assine o PLUS e garanta:
Formações com mais de 1500 cursos atualizados e novos lançamentos semanais, em Programação, Inteligência Artificial, Front-end, UX & Design, Data Science, Mobile, DevOps e Inovação & Gestão.
A cada curso ou formação concluído, um novo certificado para turbinar seu currículo e LinkedIn.
No Discord, você tem acesso a eventos exclusivos, grupos de estudos e mentorias com especialistas de diferentes áreas.
Faça parte da maior comunidade Dev do país e crie conexões com mais de 120 mil pessoas no Discord.
Acesso ilimitado ao catálogo de Imersões da Alura para praticar conhecimentos em diferentes áreas.
Explore um universo de possibilidades na palma da sua mão. Baixe as aulas para assistir offline, onde e quando quiser.
Acelere o seu aprendizado com a IA da Alura e prepare-se para o mercado internacional.
1 ano de Alura
Todos os benefícios do PLUS e mais vantagens exclusivas:
Luri é nossa inteligência artificial que tira dúvidas, dá exemplos práticos, corrige exercícios e ajuda a mergulhar ainda mais durante as aulas. Você pode conversar com a Luri até 100 mensagens por semana.
Aprenda um novo idioma e expanda seus horizontes profissionais. Cursos de Inglês, Espanhol e Inglês para Devs, 100% focado em tecnologia.
Transforme a sua jornada com benefícios exclusivos e evolua ainda mais na sua carreira.
1 ano de Alura
Todos os benefícios do PRO e mais vantagens exclusivas:
Mensagens ilimitadas para estudar com a Luri, a IA da Alura, disponível 24hs para tirar suas dúvidas, dar exemplos práticos, corrigir exercícios e impulsionar seus estudos.
Envie imagens para a Luri e ela te ajuda a solucionar problemas, identificar erros, esclarecer gráficos, analisar design e muito mais.
Escolha os ebooks da Casa do Código, a editora da Alura, que apoiarão a sua jornada de aprendizado para sempre.