Domine Transições em CSS: Guia das Propriedades e Dicas

As transições em CSS permitem que mudanças em propriedadesClasses e Herança em ES6+Classes e Herança em ES6+Aprenda a dominar classes e herança em ES6+: escreva códigos JavaScript claros e eficientes com métodos, getters e setters. sejam exibidas de forma gradual, conferindo fluidez e elegância à experiência do usuário. Em vez de alterações bruscas de cor, tamanho ou posição, podemos criar efeitos suaves que valorizam a interação com elementos na interface.

Nesta lição, vamos explorar os principais aspectos para entender e aplicar transições com sucesso:

1. transition-property

2. transition-duration

3. transition-timing-function

Conceito de Transição🔗

Imagine um botão que muda de corSeletores e Propriedades CSS EssenciaisSeletores e Propriedades CSS EssenciaisAprenda a dominar o CSS com nosso tutorial completo: entenda seletores, propriedades essenciais e técnicas para criar layouts modernos e atrativos. ao passar o mouse por cima. Sem transições, a mudança acontece instantaneamente, quase imperceptível. Com transições, conseguimos especificar quanto tempo essa mudança levará para acontecer e como ela será animada, gerando um efeito mais agradável e moderno.

Exemplo de Uso Básico

.botao {
  background-color: #3498db;
  color: #fff;
  padding: 10px 20px;
  transition-property: background-color; /* Propriedade que vai sofrer transição */
  transition-duration: 0.3s;            /* Duração da transição em segundos */
  transition-timing-function: ease;     /* Função de aceleração */
}
.botao:hover {
  background-color: #1abc9c;            /* Nova cor ao hover */
}

Quando o cursor do mouse paira sobre o .botao, a cor de fundoSeletores e Propriedades CSS EssenciaisSeletores e Propriedades CSS EssenciaisAprenda a dominar o CSS com nosso tutorial completo: entenda seletores, propriedades essenciais e técnicas para criar layouts modernos e atrativos. vai se transformar de #3498db para #1abc9c gradualmente em 0.3 segundos, utilizando a funçãoFunções e Escopo no JavaScriptFunções e Escopo no JavaScriptAprenda a utilizar funções e escopos em JavaScript com nosso guia prático. Melhore sua organização de código e evolua seus projetos com boas práticas. de aceleração ease.

transition-property🔗

A propriedadeClasses e Herança em ES6+Classes e Herança em ES6+Aprenda a dominar classes e herança em ES6+: escreva códigos JavaScript claros e eficientes com métodos, getters e setters. transition-property define qual(is) propriedade(s) do elemento vão sofrer a transição. Você pode direcionar a transição apenas para a mudança de cor, de tamanho, de margem ou até várias propriedadesClasses e Herança em ES6+Classes e Herança em ES6+Aprenda a dominar classes e herança em ES6+: escreva códigos JavaScript claros e eficientes com métodos, getters e setters. ao mesmo tempo.

transition-duration🔗

A propriedadeClasses e Herança em ES6+Classes e Herança em ES6+Aprenda a dominar classes e herança em ES6+: escreva códigos JavaScript claros e eficientes com métodos, getters e setters. transition-duration determina quanto tempo (em segundos ou milissegundos) a transição vai levar para completar. Mesmo uma troca simples de corSeletores e Propriedades CSS EssenciaisSeletores e Propriedades CSS EssenciaisAprenda a dominar o CSS com nosso tutorial completo: entenda seletores, propriedades essenciais e técnicas para criar layouts modernos e atrativos. pode ficar mais agradável quando realizada em 0.2s ou 0.3s.

  • Exemplos de Valores:
    • 1s (um segundo)
    • 500ms (meio segundo)

Dica: Evite exagerar no tempo de transição, pois animaçõesAnimações e Efeitos com JavaScript PuroAnimações e Efeitos com JavaScript PuroAprenda a criar animações e efeitos visuais usando JavaScript puro. Descubra técnicas que combinam performance e criatividade para interações web surpreendentes muito longas podem prejudicar a usabilidade.

transition-timing-function🔗

A propriedadeClasses e Herança em ES6+Classes e Herança em ES6+Aprenda a dominar classes e herança em ES6+: escreva códigos JavaScript claros e eficientes com métodos, getters e setters. transition-timing-function define como a velocidade da transição vai progredir ao longo do tempo, também conhecida como funçãoFunções e Escopo no JavaScriptFunções e Escopo no JavaScriptAprenda a utilizar funções e escopos em JavaScript com nosso guia prático. Melhore sua organização de código e evolua seus projetos com boas práticas. de aceleração. Ela controla a sensação de fluidez e pode ser utilizada para criar efeitos sutis e naturais.

Principais Valores:

ValorDescrição
linearA velocidade da animação é constante, do início ao fim.
easeÉ a função de aceleração padrão, inicia e termina mais devagar e acelera no meio.
ease-inInicia devagar e acelera depois.
ease-outInicia rápido e desacelera antes do fim.
ease-in-outCombinação de ease-in e ease-out, começa e termina devagar, com aceleração no meio.
cubic-bezier(x1,y1,x2,y2)Permite criar curvas personalizadas, oferecendo controle total sobre a aceleração.

Para experimentar efeitos diferentes, vale a pena testar cada funçãoFunções e Escopo no JavaScriptFunções e Escopo no JavaScriptAprenda a utilizar funções e escopos em JavaScript com nosso guia prático. Melhore sua organização de código e evolua seus projetos com boas práticas. e descobrir qual se adapta melhor ao objetivo visual.

Exemplo Completo🔗

Abaixo, temos um elementoTags e Elementos: Sintaxe e HierarquiaTags e Elementos: Sintaxe e HierarquiaDescubra os fundamentos do HTML: aprenda sobre tags, elementos, hierarquia e boas práticas para criar páginas bem estruturadas e acessíveis. com várias transições aplicadas:

.card {
  width: 200px;
  height: 200px;
  background-color: lightblue;
  border-radius: 8px;
  margin: 20px;
  /* Vamos aplicar transição em várias propriedades ao mesmo tempo */
  transition-property: background-color, transform, border-radius;
  transition-duration: 0.4s;
  transition-timing-function: ease-in-out;
}
.card:hover {
  background-color: lightcoral;
  transform: scale(1.1);
  border-radius: 50%;
}

1. transition-property: background-colorSeletores e Propriedades CSS EssenciaisSeletores e Propriedades CSS EssenciaisAprenda a dominar o CSS com nosso tutorial completo: entenda seletores, propriedades essenciais e técnicas para criar layouts modernos e atrativos., transform, border-radius

Indica que a cor de fundo, a transformaçãoTransformações: translate(), rotate(), scale(), skew()Transformações: translate(), rotate(), scale(), skew()Aprenda a aplicar transformações em CSS como translate, rotate, scale e skew para criar layouts dinâmicos e visuais impactantes sem alterar o fluxo da página. de escala e o arredondamento do canto irão sofrer transição.

2. transition-duration: 0.4s

Define que cada alteração levará 0.4 segundos para se completar.

3. transition-timing-function: ease-in-out

Faz com que a animaçãoAnimações e Efeitos com JavaScript PuroAnimações e Efeitos com JavaScript PuroAprenda a criar animações e efeitos visuais usando JavaScript puro. Descubra técnicas que combinam performance e criatividade para interações web surpreendentes comece e termine mais suavemente, com aceleração no meio.

Ao passar o mouse no .card, haverá uma transição suave que muda a corSeletores e Propriedades CSS EssenciaisSeletores e Propriedades CSS EssenciaisAprenda a dominar o CSS com nosso tutorial completo: entenda seletores, propriedades essenciais e técnicas para criar layouts modernos e atrativos. do fundo de lightblue para lightcoral, altera o tamanho do card para 110% do original e arredonda seus cantos até formar um círculo, tudo no decorrer de 0.4 segundos.

Resumo🔗

Transições são uma forma simples de adicionar interatividade e elegância à experiência do usuário. Explorar combinações diferentes de propriedadesClasses e Herança em ES6+Classes e Herança em ES6+Aprenda a dominar classes e herança em ES6+: escreva códigos JavaScript claros e eficientes com métodos, getters e setters., durações e timing functions pode resultar em interfaces criativas e envolventes, sem sacrificar a acessibilidadeInserindo Imagens: `<img>`, Formatos, `alt` e `title`Inserindo Imagens: `<img>`, Formatos, `alt` e `title`Aprenda a inserir imagens em HTML utilizando a tag <img> com foco em acessibilidade e performance, explorando atributos, formatos e melhores práticas. ou a performance do seu projeto.

Autor: Marcelo V. Souza - Engenheiro de Sistemas e Entusiasta em IoT e Desenvolvimento de Software, com foco em inovação tecnológica.

Referências🔗

Compartilhar artigo

Artigos Relacionados