English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
CSS3A funcionalidade de transição permite que as mudanças no valor dos atributos CSS ocorram suavemente ao longo do tempo especificado.
Normalmente, quando o valor de um atributo CSS muda, o resultado da apresentação é atualizado imediatamente. Um exemplo comum é alterar a cor de fundo do botão ao passar o mouse sobre ele. Normalmente, quando o cursor é colocado sobre o botão, a cor de fundo do botão muda imediatamente do valor antigo para o novo.
CSS3introduziu uma nova funcionalidade de transição que permite animar suavemente os atributos do valor antigo para o novo ao longo do tempo.
Os seguintes exemplos mostrarão comobackground-corAnimação em tempo de sobreposição do botão HTML com o mouse.
button { background: #fd7c2a; /* Para Safari 3.0+ */ -webkit-transition-property: background; -webkit-transition-duration: 2s; transition-property: background; transition-duration: 2s; } button:hover { background: #3cc16e; }Teste para ver‹/›
Você deve especificar pelo menos dois atributos transition-property e transition-duration (maior que 0), para que eles produam efeitos de transição. Mas, todos os outrosPropriedades de Transiçãosão opcionais, pois seus valores padrão não impedem a ocorrência da transição.
Atenção:Não todos os atributos CSS são animáveis. Normalmente, qualquer atributo CSS que aceita valores numéricos, comprimento, porcentagem ou cores é animável.
Cada atributo de transição pode ter vários valores e são separados por vírgula, isso oferece uma maneira fácil de definir várias transições com diferentes configurações em uma única definição.
button { background: #fd7c2a; border: 3px solid #dc5801; /* Para Safari 3.0+ */ -webkit-transition-property: background, border; -webkit-transition-duration: 1s, 2s; transition-property: background, border; transition-duration: 1s, 2s; } button:hover { background: #3cc16e; borda-cor: #288049; }Teste para ver‹/›
Existem muitos atributos a considerar ao aplicar transições. No entanto, também é possível especificar todas as propriedades de transição em um único atributo para reduzir o código.
As propriedades de transição são um atributo abreviado que permite definir todas as propriedades de transição individuais (ou seja, o atributo abreviado transition-property, transition-duration, transition-timing-function e transition-delay na ordem listada).
Ao usar essa propriedade, certifique-se de seguir essa ordem de valores.
button { background: #fd7c2a; -webkit-transition: background 2s ease-in 0s; /* Para Safari 3.0+ */ transition: background 2s ease-in 0s; } button:hover { background: #3cc16e; }Teste para ver‹/›
Atenção:Se falta ou não for especificado qualquer valor, será usado o valor padrão da propriedade. Isso significa que se transition-Se falta o valor da propriedade duration, não ocorrerá transição, pois seu valor padrão é 0.
A tabela a seguir resume brevemente todas as propriedades de transição:
Propriedade | Descrição |
---|---|
transition | Atributo abreviado usado para definir todos os quatro atributos de transição individuais em uma única declaração. |
transition-delay | Especifica quando a transição deve começar. |
transition-duration | Especifica o número de segundos ou milissegundos necessários para completar a animação de transição. |
transition-property | Especifica o nome da propriedade CSS à qual o efeito de transição deve ser aplicado. |
transition-timing-function | Especifica como calcular o valor intermediário de CSS propriedades afetadas pela transição. |