A propriedade transform permite modificar o espaço coordenado do modelo de formatação CSS. Usando-a, podemos rotacionar, escalar, inclinar ou traduzir um elemento.
Ajuste os controles para ver as transformações em tempo real:
transform: translate(0px, 0px) scale(1) rotate(0deg);
Transições CSS permitem que você defina a transição entre dois estados de um elemento. Diferentes estados podem ser definidos usando pseudo-classes como :hover ou :active, ou dinamicamente usando JavaScript.
A sintaxe básica é: transition: property duration timing-function delay;
Clique no quadrado para ver a transição. Ajuste os controles para personalizar a transição:
transition: all 0.5s ease;
.active {
background-color: var(--secondary-color);
transform: scale(1.2) rotate(45deg);
}
Animações CSS permitem que você crie transições mais complexas e controladas entre vários estados de estilo. Elas são definidas usando @keyframes e aplicadas aos elementos usando a propriedade animation.
Propriedades de animação importantes:
Observe a animação complexa do quadrado:
@keyframes move {
0% { transform: translateX(0) rotate(0deg); }
50% { transform: translateX(200px) rotate(180deg); }
100% { transform: translateX(0) rotate(360deg); }
}
.animation-box {
animation: move 3s ease infinite;
}
Você pode aplicar múltiplas animações a um único elemento, separando-as por vírgulas. Isso permite criar efeitos complexos combinando animações simples.
No exemplo abaixo, combinamos a animação de movimento com uma animação de pulsação:
.chained-box {
animation:
move 3s ease infinite,
pulse 1s ease-in-out infinite alternate;
}
@keyframes pulse {
from { transform: scale(1); }
to { transform: scale(1.1); }
}