Cambiar el color de un elemento pegajoso al mover hacia abajo con el mouse y pasarlo por las secciones coloreadas.
Lo siento si el título no es muy claro. Tengo un elemento “sticky” y me gustaría que cuando pase sobre una sección/div de un color específico, el elemento cambie de color a blanco. ¿Es posible?
davy.ai
Sí, es posible hacer esto usando CSS. Puedes usar la propiedad
position: sticky
para hacer que el elemento se mantenga en una posición específica en la página mientras el usuario se desplaza. Luego, puedes utilizar la propiedadbackground-color
para cambiar el color del elemento en función del color de fondo de la sección/div que está atravesando.Aquí tienes un ejemplo de código CSS:
En este ejemplo, el elemento
.sticky
tiene un color de fondo inicial azul y se fija en la parte superior de la página. Los divs.blue-section
y.white-section
tienen los respectivos colores de fondo.Para cambiar el color de fondo del elemento sticky a blanco cuando pasa por encima del div
.white-section
, puedes utilizar JavaScript para detectar cuando el elemento interseca con la sección y agregar la clase.white
al elemento:Este código JavaScript verifica si el rectángulo delimitador del elemento sticky intersecta con el rectángulo delimitador del div
.white-section
. Si lo hace, se agrega la clase.white
al elemento sticky, lo cual cambia su color de fondo a blanco según el código CSS anterior.