Saltar al contenido principal
Codigo Heroe
Tarea anterior
Transformaciones 2D19/29
A la lista de tareas
  1. 1. Desplazamiento horizontal con translateX
  2. 2. Desplazamiento vertical con translateY
  3. 3. Desplazamiento en dos ejes con translate
  4. 4. Cambios de tamaño con scale
  5. 5. Rotación y orden de las transformaciones
  6. 6. Combinación de desplazamiento y escala
  7. 7. Recorridos con translate
  8. 8. Combinación de rotate y translate
  9. 9. Inclinación con skewX y skewY
  10. 10. Combinación de escala, desplazamiento y rotación
  11. 11. Reflejos con valores negativos de scale
  12. 12. transform-origin y cambios de escala
  13. 13. Transiciones de escala y transform-origin
  14. 14. transform-origin y rotación
  15. 15. Rotación animada y transform-origin
  16. 16. Centrado con transform: translate
  17. 17. Rotación del título de un bloque
  18. 18. Inclinación y rotación de texto decorativo
  19. 19. Sombras con pseudoelementos y rotate
  20. 20. Efectos al pasar el cursor: rotación de un ícono
  21. 21. Efectos al pasar el cursor: escala y opacidad
  22. 22. Efectos al pasar el cursor: aparición de un ícono
  23. 23. Efectos al pasar el cursor: galería
  24. 24. Cartas superpuestas con rotate
  25. 25. Menú circular: posición y origen de rotación
  26. 26. Menú circular: rotación e inclinación
  27. 27. Menú circular: orientación de los enlaces
  28. 28. Menú circular: forma y recorte
  29. 29. Menú circular: añadir opciones
Siguiente tarea
  • Matriz de skills
  • Cursos
  • Registro
  • Iniciar sesión

Loading…
En unos segundos, estará listo.

  • Teoría
  • Teoría

Sombras con pseudoelementos y rotate

A veces necesitamos crear sombras diferentes de las habituales de box-shadow, sin recurrir a imágenes.

Por ejemplo, sombras inclinadas en direcciones opuestas.

No basta con aplicar box-shadow directamente al bloque. Necesitamos un truco un poco más elaborado:

  • creamos dos bloques con sombras normales mediante los pseudoelementos before y after;
  • giramos esos bloques con rotate;
  • les damos un z-index negativo.

Así, los bloques con sombras quedan detrás del contenedor padre y solo sobresalen algunos fragmentos de las sombras.

  • index.html
  • style.css
HTML
<!DOCTYPE html> <html lang="es"> <head> <title>Sombras con pseudoelementos y rotate</title> <meta charset="utf-8"> <link rel="stylesheet" href="style.css"> </head> <body> <div class="shadow-box"> <h3>Bloque con sombras</h3> </div> </body> </html>
CSS
body { margin: 0; padding: 0; background-color: #f5f5f5; font-family: "Arial Narrow", "Arial", sans-serif; } .shadow-box { position: relative; width: 400px; height: 100px; margin: 50px auto; padding: 100px 0; text-align: center; background-color: white; box-shadow: 0 0 3px #cccccc; } .shadow-box::before, .shadow-box::after { content: ""; position: absolute; top: 80%; bottom: 15px; width: 45%; max-width: 300px; background-color: #dddddd; box-shadow: 0 15px 10px #555555; } .shadow-box::before { left: 10px; } .shadow-box::after { right: 10px; }

El código ha cambiado, haz clic en "Actualizar" o activa la ejecución automática.

Ha ido a otra página

Haga clic dentro del mininavegador para poner el foco en esta ventana.

100%
ObjetivosRealizado
0
    1. Gira el pseudoelemento before del bloque .shadow-box3° en sentido contrario a las agujas del reloj.
    2. Después gira el pseudoelemento after3° en el sentido de las agujas del reloj.
    3. Asigna z-index: -1 a ambos pseudoelementos.
    Codigo Heroe

    © 2023-2026, codigoheroe.com