Perspectiva - CSS-Tricks

Anonim

A perspectivepropriedade CSS dá a um elemento um espaço 3D ao afetar a distância entre o plano Z e o usuário.

A força do efeito é determinada pelo valor. Quanto menor o valor, mais próximo você se aproxima do plano Z e mais impressionante é o efeito visual. Quanto maior o valor, mais sutil será o efeito.

Importante: Observe que a propriedade da perspectiva não afeta a forma como o elemento é renderizado; simplesmente habilita um espaço 3D para elementos filhos. Esta é a principal diferença entre a transform: perspective()função e a perspectivepropriedade. O primeiro fornece profundidade de elemento, enquanto o último cria um espaço 3D compartilhado por todos os seus filhos transformados.

/** * Syntax * perspective: none |  */ .parent ( perspective: 1000px; ) .child ( transform: rotateY(50deg); ) 
Confira esta Caneta!

A demonstração acima tem como objetivo mostrar a diferença entre a função e a propriedade.

  • No lado esquerdo, você pode ver a propriedade aplicada ao pai ( perspective: 50em) dos elementos transformados ( transform: rotateY(50deg)).
  • No lado direito, a perspectiva é aplicada a partir da transformação diretamente nos filhos ( transform: perspective(50em) rotateY(50deg)).

Isso mostra como definir a perspectiva do pai faz com que todos os filhos compartilhem o mesmo espaço 3D e, portanto, o mesmo ponto de fuga.

Vamos tentar algo ainda mais legal: um cubo com transformações 3D e perspectiva.

Confira esta Caneta!

Veja como o cubo é feito: ele conta com dois invólucros aninhados (um para dar perspectiva ao cubo e outro para envolver todos os lados) e 6 elementos para fazer os lados. Cada elemento recebe sua própria transformação, que mistura translação e rotação no espaço 3D (por exemplo transform: rotateX(90deg) translateZ(1em)).

Vamos terminar com uma demonstração do que poderia ser a base de um design do mundo real: uma parede de fotografias + legendas usando perspectiva e transformação.

Confira esta Caneta!

Ao pairar sobre a parede, as crianças são giradas de volta à sua posição normal, cancelando o efeito.

Importante! Usar perspectiva (com um valor diferente de 0 ou nenhum) cria um novo contexto de empilhamento.

Suporte para navegador

cromada Safári Raposa de fogo Ópera IE Android iOS
12+ Nenhum 10+ Nenhum 10+ 3+ Nenhum

O Firefox 10-15 precisa de -moz-, os navegadores WebKit podem precisar de -webkit-