CSS: CSS Transform

Última atualização: 2026-10-13

Propriedades nesta seção: transform-origin perspective transform backface-visibility

1. Funções Transform

(1) Referência Rápida

Função Valores Efeito
translate(x, y) 50px, -30px, 50% Mover elemento
translateX(x) 50px Movimento horizontal
translateY(y) -30px Movimento vertical
scale(n) 1.5, 2, 0.5 Escala (1 = original)
scaleX(n) 1.5 Escala horizontal
scaleY(n) 0.8 Escala vertical
rotate(deg) 45deg, 90deg, -180deg Rotacionar (positivo = horário)
skew(x, y) 10deg, -5deg Distorção de inclinação
skewX(deg) 10deg Inclinação horizontal
skewY(deg) 10deg Inclinação vertical
transform-origin center, top left, 50% 50% Ponto de origem da transformação

2. translate (Mover)

▶ Exemplo

▶ Experimente

3. scale (Redimensionar)

▶ Exemplo

▶ Experimente

4. rotate (Rotacionar)

▶ Exemplo

▶ Experimente

5. transform-origin

Muda o ponto de referência para rotação/escala:

▶ Exemplo

▶ Experimente

6. Combinando Transformações

Múltiplas transformações executam da direita para a esquerda (ordem inversa):

CSS
.box {
  transform: translateX(50px) rotate(45deg) scale(1.2);
  /* Primeiro escala → Depois rotaciona → Finalmente translada */
}

Propriedades nesta seção: transform-origin perspective transform backface-visibility

❓ Perguntas Frequentes

P Qual é a diferença entre transform e mudar top/left?
R transform apenas aciona a etapa de composição — não causa reflow de layout ou pintura, melhor desempenho. Mudar top/left aciona reflow, causando travamento da página. Para animações, prefira transform.
P O que transform: translate(-50%, -50%) com position: absolute faz?
R Solução clássica de centralização. top: 50%; left: 50%; transform: translate(-50%, -50%); primeiro posiciona o canto superior esquerdo do elemento no centro do pai, depois translate move de volta pela metade de suas próprias dimensões para centralização perfeita.
P Transformações 3D precisam de configuração especial?
R Ao usar translateZ(), rotateX(), rotateY() etc., adicione perspective ao pai (como perspective: 1000px), caso contrário efeitos 3D podem não ser visíveis. Transformações 3D aceleram GPU, melhor desempenho que 2D.

📖 Resumo

📝 Exercícios

  1. Crie uma caixa que move 50px para direita e escala 1.5x no hover.
  2. Crie uma imagem que rotaciona 180° no eixo Y no hover (precisa de perspective).
  3. Crie um "card virado" — hover vira o card para mostrar conteúdo do verso (usando rotateY e backface-visibility).
  4. Use transform-origin para mudar centro de rotação, crie um efeito de "pêndulo".
Web-Tutorial.com

Equipe Técnica Web-Tutorial

Uma plataforma de tutoriais mantida por diversos desenvolvedores. Cada tutorial é escrito e revisado por profissionais da área correspondente. Trabalhamos para manter nosso conteúdo preciso e confiável — se encontrar algum problema, avise-nos.

100%