tutorial - hover animado css3




Como ter múltiplas transições CSS em um elemento? (5)

É possível fazer as transições múltiplas configuradas com valores diferentes para a função de duração, atraso e tempo. Para dividir o uso de transições diferentes ,

button{
  transition: background 1s ease-in-out 2s, width 2s linear;
  -webkit-transition: background 1s ease-in-out 2s, width 2s linear; /* Safari */
}

Referência: https://kolosek.com/css-transition/

É uma pergunta bastante direta, mas não consigo encontrar uma documentação muito boa sobre as propriedades de transição do CSS. Aqui está o trecho de CSS:

    .nav a
{
    text-transform:uppercase;
    text-decoration:none;
    color:#d3d3d3;
    line-height:1.5 em;
    font-size:.8em;
    display:block;
    text-align:center;
    text-shadow: 0 -1.5em 0 rgba(255, 255, 255, 0.15);
    -webkit-transition: color .2s linear;
    -moz-transition: color .2s linear;
    -o-transition: color .2s linear;
    transition: color .2s linear;
    -webkit-transition: text-shadow .2s linear;
    -moz-transition: text-shadow .2s linear;
    -o-transition: text-shadow .2s linear;
    transition: text-shadow .2s linear;
}

.nav a:hover
{
    color:#F7931E;
    text-shadow: 0 1.5em 0 rgba(247, 147, 30, 0.15);
}

Como você pode ver, as propriedades de transição são substituídas entre si. Tal como está, a sombra de texto irá animar, mas não a cor. Como faço para que ambos sejam animados simultaneamente? Obrigado por qualquer resposta.


Algo como o seguinte permitirá várias transições simultaneamente:

-webkit-transition: color .2s linear, text-shadow .2s linear;
   -moz-transition: color .2s linear, text-shadow .2s linear;
     -o-transition: color .2s linear, text-shadow .2s linear;
        transition: color .2s linear, text-shadow .2s linear;

Exemplo: http://jsbin.com/omogaf/2


As propriedades de transição são delimitadas por vírgulas em todos os navegadores que suportam transições:

.nav a {
  transition: color .2s, text-shadow .2s;
}

ease é a função de temporização padrão, então você não precisa especificá-lo. Se você realmente quiser linear , precisará especificá-lo:

transition: color .2s linear, text-shadow .2s linear;

Isso começa a ficar repetitivo, por isso, se você estiver usando as mesmas horas e funções de temporização em várias propriedades, é melhor seguir em frente e usar as várias propriedades transition-* vez da abreviação:

transition-property: color, text-shadow;
transition-duration: .2s;
transition-timing-function: linear;

Se você tornar todas as propriedades animadas da mesma maneira, você poderá definir cada uma separadamente, o que permitirá que você não repita o código.

 transition: all 2s;
 transition-property: color, text-shadow;

Há mais sobre isso aqui: taquigrafia de transição CSS com várias propriedades?

Eu evitaria usar a propriedade all (propriedade de transição sobrescreve 'all'), pois você pode acabar com um comportamento indesejado e hits de desempenho inesperados.


.nav a {
    transition: color .2s, text-shadow .2s;
}






css-transitions