<!DOCTYPE html> <html lang="es"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Contenedor de Texto Responsivo con Efectos de Hover</title> <style> /* Estilos generales */ body { font-family: Arial, sans-serif; display: flex; justify-content: center; align-items: center; min-height: 100vh; margin: 0; background-color: #f0f0f0; } .container { display: flex; flex-wrap: wrap; justify-content: space-around; width: 100%; max-width: 1200px; padding: 20px; gap: 20px; /* Espacio entre columnas */ } .box { flex: 1 1 calc(45% - 20px); /* Ocupa el 45% menos el espacio del gap */ padding: 20px; text-align: center; border-radius: 10px; transition: all 0.3s ease-in-out; cursor: pointer; overflow: hidden; position: relative; box-sizing: border-box; } .box h2 { margin: 0 0 10px 0; } .box p { margin: 0; } /* Efecto 1: Desplazamiento y cambio de color */ .effect1 { background-color: #ffcccb; color: #333; } .effect1:hover { background-color: #ff6f61; color: white; transform: translateY(-20px); } /* Efecto 2: Zoom y sombra con un efecto de "blur" */ .effect2 { background-color: #d0e1f9; color: #333; } .effect2:hover { transform: scale(1.2); box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3); filter: blur(2px); } /* Efecto 3: Fondo semi-transparente con animación de movimiento */ .effect3 { background-color: rgba(144, 238, 144, 0.7); color: #333; } .effect3:hover { background-color: rgba(0, 128, 0, 0.7); animation: move 0.5s forwards; } @keyframes move { 0% { transform: translateX(0); } 50% { transform: translateX(20px); } 100% { transform: translateX(0); } } /* Efecto 4: Rotación y cambio de opacidad */ .effect4 { background-color: #f9d3b4; color: #333; } .effect4:hover { transform: rotate(15deg); opacity: 0.6; } /* Efecto 5: Borde animado */ .effect5 { background-color: #e1f7d5; color: #333; border: 4px solid transparent; transition: all 0.5s ease-in-out; } .effect5:hover { border-color: #45a29e; transform: scale(1.1); } /* Efecto 6: Cambio de tamaño */ .effect6 { background-color: #f1c6e7; color: #333; } .effect6:hover { transform: scale(1.3); box-shadow: 0 8px 25px rgba(0, 0, 0, 0.3); } /* Efecto 7: Fondo con degradado animado */ .effect7 { background: linear-gradient(45deg, #ffcccb, #d0e1f9, #90ee90); background-size: 300% 300%; color: #333; } .effect7:hover { animation: gradientBG 3s ease infinite; } @keyframes gradientBG { 0% { background-position: 0% 50%; } 50% { background-position: 100% 50%; } 100% { background-position: 0% 50%; } } /* Efecto 8: Texto deslizante al pasar el ratón */ .effect8 { background-color: #ffe4e1; color: #333; position: relative; overflow: hidden; } .effect8 p { position: relative; white-space: nowrap; transition: transform 0.5s linear; } .effect8:hover p { transform: translateX(100%); } /* Efecto 9: Sombras internas */ .effect9 { background-color: #f0e68c; color: #333; box-shadow: inset 0 0 0 0 rgba(0, 0, 0, 0.4); } .effect9:hover { box-shadow: inset 0 0 20px rgba(0, 0, 0, 0.4); } /* Efecto 10: Texto subrayado animado */ .effect10 { background-color: #add8e6; color: #333; position: relative; } .effect10::after { content: ''; position: absolute; bottom: 0; left: 0; width: 100%; height: 2px; background-color: #000; transform: scaleX(0); transition: transform 0.3s ease-in-out; } .effect10:hover::after { transform: scaleX(1); } /* Efecto 11: Vibración */ .effect11 { background-color: #f5deb3; color: #333; } .effect11:hover { animation: vibrate 0.3s linear infinite; } @keyframes vibrate { 0% { transform: translate(0); } 25% { transform: translate(-2px, 2px); } 50% { transform: translate(2px, -2px); } 75% { transform: translate(-2px, -2px); } 100% { transform: translate(2px, 2px); } } /* Efecto 12: Oscilación */ .effect12 { background-color: #dcdcdc; color: #333; } .effect12:hover { animation: swing 1s ease infinite; } @keyframes swing { 20% { transform: rotate(15deg); } 40% { transform: rotate(-10deg); } 60% { transform: rotate(5deg); } 80% { transform: rotate(-5deg); } 100% { transform: rotate(0deg); } } /* Responsivo */ @media (max-width: 900px) { .box { flex: 1 1 calc(100% - 20px); /* Ocupa el 100% menos el espacio del gap en pantallas pequeñas */ } } </style> </head> <body> <div class="container"> <div class="box effect1"> <h2>Efecto 1</h2> <p>Desplazamiento y cambio de color.</p> </div> <div class="box effect2"> <h2>Efecto 2</h2> <p>Zoom y sombra con efecto de "blur".</p> </div> <div class="box effect3"> <h2>Efecto 3</h2> <p>Fondo semi-transparente con animación de movimiento.</p> </div> <div class="box effect4"> <h2>Efecto 4</h2> <p>Rotación y cambio de opacidad.</p> </div> <div class="box effect5"> <h2>Efecto 5</h2> <p>Borde animado.</p> </div> <div class="box effect6"> <h2>Efecto 6</h2> <p>Cambio de tamaño.</p> </div> <div class="box effect7"> <h2>Efecto 7</h2> <p>Fondo con degradado animado.</p> </div> <div class="box effect8"> <h2>Efecto 8</h2> <p>Texto deslizante al pasar el mouse.</p> </div> <div class="box effect9"> <h2>Efecto 9</h2> <p>Sombras internas.</p> </div> <div class="box effect10"> <h2>Efecto 10</h2> <p>Texto subrayado al pasar el mouse.</p> </div> <div class="box effect11"> <h2>Efecto 11</h2> <p>Vibración.</p> </div> <div class="box effect12"> <h2>Efecto 12</h2> <p>Oscilación.</p> </div> </div> </body> </html>