A transition
propriedade é uma propriedade abreviada usada para representar até quatro propriedades extensas relacionadas à transição:
.example ( transition: (transition-property) (transition-duration) (transition-timing-function) (transition-delay); )
Essas propriedades de transição permitem que os elementos alterem os valores ao longo de uma duração especificada, animando as alterações das propriedades, em vez de fazê-las ocorrer imediatamente. Aqui está um exemplo simples que faz a transição da cor de fundo de um
elemento em: hover:
div ( transition: background-color 0.5s ease; background-color: red; ) div:hover ( background-color: green; )
Esse div levará meio segundo quando o mouse estiver sobre ele para mudar de vermelho para verde. Aqui está uma demonstração ao vivo de tal transição:
Veja o Pen Transition Demo de Louis Lazaris (@impressivewebs) no CodePen.
Você pode especificar uma propriedade particular como temos acima, ou usar um valor de “all” para se referir às propriedades de transição.
div ( transition: all 0.5s ease; background: red; padding: 10px; ) div:hover ( background: green; padding: 20px; )
Neste exemplo acima, o fundo e o preenchimento farão a transição, devido ao valor “all” especificado para a transition-property
parte da abreviação.
Você pode separar conjuntos de valores por vírgulas para fazer transições diferentes em propriedades diferentes:
div ( transition: background 0.2s ease, padding 0.8s linear; )
Para a maior parte, a ordem dos valores não importa - a menos que um atraso seja especificado. Se você especificar um atraso, deverá primeiro especificar uma duração. O primeiro valor que o navegador reconhece como um valor de tempo válido sempre representará a duração. Qualquer valor de tempo válido subsequente será analisado como o atraso.
Algumas propriedades não podem ser transicionadas porque não são propriedades animáveis. Consulte a especificação para obter uma lista completa de quais propriedades são animáveis.
Ao especificar a transição no próprio elemento, você define a transição para ocorrer em ambas as direções. Ou seja, quando os estilos são alterados (por exemplo, ao passar o mouse sobre), suas propriedades farão a transição, e quando os estilos forem alterados de volta (por exemplo, ao passar o mouse sobre), eles farão a transição. Por exemplo, as seguintes transições de demonstração ao pairar, mas não ao pairar fora:
Veja o Pen zohgt de Louis Lazaris (@impressivewebs) no CodePen.
Isso acontece porque a transição foi movida para o :hover
seletor de estado e não há nenhuma transição correspondente no seletor que visa o elemento diretamente sem o :hover
estado.
Para compatibilidade em todos os navegadores compatíveis, os prefixos do fornecedor são necessários, com a sintaxe padrão declarada por último:
.example ( -webkit-transition: background-color 500ms ease-out 1s; -moz-transition: background-color 500ms ease-out 1s; -o-transition: background-color 500ms ease-out 1s; transition: background-color 500ms ease-out 1s; )
O IE10 (a primeira versão estável do IE com suporte transition
) não requer o -ms-
prefixo.
Suporte para navegador
Os dados de suporte deste navegador são do Caniuse, que tem mais detalhes. Um número indica que o navegador oferece suporte ao recurso nessa versão e superior.
Área de Trabalho
cromada | Raposa de fogo | IE | Beira | Safári |
---|---|---|---|---|
4 * | 5 * | 10 | 12 | 5,1 * |
Celular / Tablet
Android Chrome | Android Firefox | Android | iOS Safari |
---|---|---|---|
88 | 85 | 2,1 * | 6,0-6,1 * |