Animación secuencial de contenido
texto 1
texto 2
texto 3
texto 4
Mediante esta propiedad de CSS aplicamos un cambio repentino sobre alguna propiedad del modelo de caja del elemento a transformar. Normalemente definimos el cambio en la pseudo-clase :hover del elemento, o de un elemento parent.
Algunos tipos de transformación:
transform: translate(200px,-100px);
transform: scale(2.5,2.5);
transform: skew(-45deg,-15deg);
transform: rotate(-90deg);
transform: rotateX(180deg);
transform: rotateY(180deg);
transform: rotateZ(180deg);
transform: translate(100px) scale(1.5,1.5) rotateZ(180deg);
Esta propiedad permite definir un centro desde el cual aplicar la transformación al objeto. Por defecto, si no se especifica otro origen, las transformaciones se realizan desde el centro del propio objeto a transformar. Pero se puede definir una posición diferente sobre la base de un eje de coordenadas del objeto.
Este eje puede tener 3 coordenadas X, Y, Z, si la transformación a realizar usa los 3 ejes. En caso de transformaciones de dos dimensiones, usa los ejes X e Y.
Para definir los valores de cada eje se puede usar una unidad numérica (px, %, rem...) o se puede usar una palabra clave (top, right, bottom, left, center). Los valores para cada eje se definen en la misma propiedad separados por espacios. Y usa las mismas reglas que la propiedad background-position: El primer valor se refiere al eje X, el segundo al eje Y, y en caso de usar el eje Z su valor será el tercero de la propiedad.
Se pueden combinar diferentes unidades para cada eje, y también unidades con palabras clave. Por ejemplo: transform-origin: 20% bottom; transform-origin: 20% 80px; transform-origin: left bottom;
Si únicamente ponemos un valor numérico se entiende que ese valor se aplica a los dos ejes a la vez, o a los tres si fuera una transformación 3D.
El eje Z solo admite valores numéricos, no podemos usar palabras clave en él.
transform-origin: center;
Las transiciones también suponen cambios en posición, tamaño y forma de los elementos. Pero en este caso los cambios son graduales, de manera que se genera un efecto de animación sobre la propiedad modificada.
A la hora de definir una transición se tiene en cuenta 3 factores: La propiedad que se anima, el tiempo que dura esta animación, y el estilo de animación que queremos crear. Además se puede definir un cuarto elemento que especifica el tiempo de retraso para comenzar la transición.
La propiedad transition del elemento debe ser definida en el CSS inicial del elemento, especificando qué, cómo y cuanto se anima en él. Y en el estado hover solamente definiremos el valor final de la propiedad que estamos animando.
Nota: Las propiedades que vayamos a animar tienen que tener un valor inicial definido en el CSS del elemento. Si sólo definimos su valor final no se produce la animación. Además para animar propiedades que implican un cambio de posición, también es necesario haber definido el position del elemento.
#uno {
transition: width 1s;
}
.disp:hover + #uno {
width: 500px;
}
#dos {
transition: left 1s;
left: 0;
margin-left: 0;
}
.disp:hover + #dos {
left: 700px;
}
#tres {
transition: left 3s
cubic-bezier(.88,-0.67,0,1.77);
left: 0;
margin-left: 0;
}
.disp:hover + #tres {
left: 700px;
}
#cuatro {
transition: left 3s ease-in,
width 1s ease-in-out;
left: 0;
margin-left: 0;
}
.disp:hover + #cuatro {
left: 700px;
width: 500px;
}
#cinco {
transition: transform 1s
ease 1.5s, left 1.5s;
left: 0;
margin-left: 0;
}
.disp:hover + #cinco {
transform: rotateY(560deg);
left: 700px;
}
#seis {
transition: all .5s;
}
.disp:hover + #seis {
width: 400px;
height: 500px;
}
texto 1
texto 2
texto 3
texto 4
Este elemento aparece cuando ponemos el cursor sobre él. Y desaparece al retirar el cursor.