ElSaltoWeb
Frontend Developer
ESWESW
Antes de profundizar en el código, echemos un vistazo a cómo funciona este efecto:
Inicialización de Elementos: El HTML contiene un contenedor de imágenes (<div class="img-wrapper">
) con una serie de imágenes dentro de él.
Detectando el Movimiento del Ratón: En el script JavaScript, se añade un evento de escucha al cuerpo del documento para detectar los movimientos del ratón.
Generando el Efecto de Rastro: Cuando el ratón se mueve, se verifica si ha cruzado un umbral predefinido. Si es así, se activa la función showNextImage()
para mostrar una imagen en la posición del ratón.
Animando la Imagen: La función showNextImage()
mueve la imagen hacia la posición actual del ratón con una pequeña animación. Luego, oculta la imagen y la restablece después de un breve período de tiempo.
/********************************************
ImageTrailEffects/
********************************************/
body {
font-family: quiroh, sans-serif;
font-size: 16px;
/****** variables *****/
--color-pink: #d02d55;
--color-title: #232323;
}
/*********** Default/reset ***********/
*,
*::after,
*::before {
margin: 0;
padding: 0;
box-sizing: border-box;
}
/*********** Link ***********/
.header {
position: fixed;
left: 0;
top: 0;
width: 100%;
display: flex;
z-index: 9;
padding: 70px 30px;
justify-content: space-between;
}
.person__name {
color: #fff;
}
.person__prof {
font-size: 18px;
display: block;
display: flex;
align-items: center;
font-weight: 300;
}
.person__prof:before {
content: "";
width: 15px;
height: 1px;
background: #fff;
margin-right: 3px;
}
.person__test {
display: block;
}
.img-wrapper {
height: 118vh;
background: #151413;
position: relative;
overflow: hidden;
}
.drag__box {
height: 180px;
width: 140px;
position: absolute;
transition: 0.1s all;
}
.visible {
opacity: 1;
visibility: visible;
}
.hidden {
display: none;
}
img {
object-fit: cover;
width: 300px;
visibility: hidden;
transition: 0.6s ease-out all;
position: absolute;
max-width: 28px;
transform: translateY(-50%);
transform-origin: bottom;
}
.grow-scale {
transform: scale(2);
visibility: hidden;
opacity: 0;
transition: 0.5s all ease-in-out;
}
.content {
position: relative;
overflow: hidden;
height: 118vh;
}
.content__title {
font-family: forma-djr-display, sans-serif;
font-size: 27vw;
color: transparent;
-webkit-text-stroke: 2px var(--color-title);
font-weight: 700;
position: absolute;
left: 0;
top: 60%;
z-index: 99;
transform: translateY(-50%);
pointer-events: none;
}
Con solo un poco de HTML CSS y JavaScript, puedes agregar un fascinante efecto de rastro de imágenes a tu sitio web. ¡Experimenta con diferentes imágenes y ajusta los parámetros para lograr el efecto deseado!
Este efecto seguramente impresionará a tus visitantes y agregará un toque de interactividad a tu sitio web.
¡Diviértete creando y explorando! 🚀
Gracias por tu confianza