Las transformaciones en CSS3
Ejemplo de una imagen con relieve
Partimos de la siguiente imagen:
Aplicamos un primer estilo:
#foto { position: relative; margin: 20px auto; width: 600px; height: 225px; padding: 10px; border: 1px solid #ccc; background-color: #eee; }
Para insertar una sombra debajo de la foto, vamos a usar las dos pseudo-clases :before y :after. Estas permiten añadir contenido delante y detrás del elemento al cual estén asociadas.
Añadimos un contenido "vacío" delante de nuestra caja, lo posicionaremos en relación a su elemento padre, indicamos el tamaño de la sombra y aplicamos una rotación:
#foto:before { /* contenido vacío*/ content: ""; /* posicionamiento*/ position: absolute; z-index: -1; left: 10px; bottom: 15px; /* La caja */ width: 50%; height: 20%; /* La sombra */ box-shadow: 0 15px 10px rgba(0, 0, 0, 0.7); /* La rotación */ -webkit-transform: rotate(-3deg); -o-transform: rotate(-3deg); transform: rotate(-3deg); }
Para añadir otra sombra en la parte derecha utilizaremos la pseudo-clase :after.
#foto:after { /* contenido vacío*/ content: ""; /* posicionamiento*/ position: absolute; z-index: -2; right: 10px; bottom: 17px; /* La caja */ width: 30%; height: 20%; /* La sombra */ box-shadow: 0 15px 10px rgba(0, 0, 0, 0.8); /* La rotación */ -webkit-transform: rotate(1deg); -o-transform: rotate(1deg); transform: rotate(1deg); }