Las transiciones en CSS3
Desplazamiento
Vamos a realizar una transición sencilla de una imagen desplazándose.
Con la propiedad transition-property vamos a indicar cuál es la propiedad CSS que queremos modificar.
Con la propiedad transition-duration vamos a indicar la duración de la transición. Las unidades que se pueden usar son los segundos s y los milisegundos ms.
La propiedad transition-timing-function permite definir el movimiento de la transición. Esta admite seis valores representador por palabras clave: ease, linear, ease-in, ease-out, ease-in-out, cubic-bezier.
La propiedad transition-delay permite definir cuándo se iniciará la transición, cuánto tiempo después de la detección del evento.
#desplazamiento {
position: relative;
left: 20px;
top: 20px;
-webkit-transition-property: left;
-webkit-transition-duration: 8s;
-webkit-transition-timing-function: ease-in;
-webkit-transition-delay: 2s;
transition-property: left;
transition-duration: 8s;
transition-timing-function: ease-in;
transition-delay: 2s;
}
Ahora, para terminar, vamos a indicar el nuevo valor de la propiedad left y el evento que va a provocar la transición.
#desplazamiento:hover {
left: 150px;
}

Transiciones múltiples
También es posible aplicar varias transiciones. Simplemente se debe separar cada transición con una coma e indicar el plazo para que cada transición comience en el momento oportuno.
Vamos a crear una transición múltiple con tres propiedades modificadas:
- el ancho width, que dura 3 segundos.
- desplazamiento hacia la derecha left, que dura 2 segundos y comienza 3 segundos más tarde.
- la opacidad opacity, que dura 4 segundos y comienza 6 segundos más tarde.
#multiple {
position: relative;
left: 20px;
top: 20px;
width: 96px;
height: 96px;
-webkit-transition: width 3s linear, height 2s linear 3s,
opacity 4s linear 6s;
-o-transition: width 3s linear, height 2s linear 3s,
opacity 4s linear 6s;
transition: width 3s linear, left 2s linear 3s,
opacity 4s linear 6s;
}
#multiple:hover {
width: 350px;
height: 120px;
opacity: .3;
left: 100px;
}
#multiple img{
width:100%;
}