Estoy construyendo un rompecabezas usando CSS grid.
He simplificado el rompecabezas a una sola ficha roja y una ficha en blanco.
Lo que estoy tratando de hacer es que si haces clic en el mosaico rojo, el mosaico rojo se deslizará hacia la posición de los mosaicos en blanco.
Por el momento, puedo cambiar su posición usando un simple controlador de clics de JavaScript que alterna la clase "izquierda" y "derecha" para ambos divs de mosaico. Luego, en mi CSS, he especificado áreas de cuadrícula (izquierda y derecha) para la clase css .left
o .right
.
Es un poco difícil de explicar, así que incluyo todo el código a continuación.
Básicamente, espero encontrar alguna forma de hacer la transición de la baldosa roja de grid-area: left
a grid-area: right
en un movimiento deslizante.
¡Cualquier ayuda será muy apreciada!
const red = document.querySelector('.red');
const blank = document.querySelector('.blank');
red.addEventListener('click', slide);
function slide() {
red.classList.toggle('left');
red.classList.toggle('right');
blank.classList.toggle('left');
blank.classList.toggle('right');
}
.container {
display: grid;
grid-template-columns: 1fr 1fr;
grid-template-areas: "left right";
border: 10px solid black;
text-align: center;
}
.red {
background: red;
}
.left {
grid-area: left;
}
.right {
grid-area: right;
}
<div class="container">
<div class="red left">
<p>RED</p>
</div>
<div class="blank right"></div>
</div>
Después de investigar un poco, pude encontrar una solución a mi problema. Pensé que podría compartirlo aquí en caso de que alguien más se encuentre en la misma situación. Puede encontrar la biblioteca "Transiciones fáciles para CSS Grid" aquí
https://github.com/aholachek/animate-css-grid
También encontré un ejemplo de codepen que demuestra el comportamiento exacto que estaba buscando al usar esta biblioteca:
https://codepen.io/daviddarnes/pen/EOqZdw
El único pequeño problema al que me enfrenté fue que el mosaico blanco "en blanco" se deslizaba sobre el mosaico de color. Simplemente agregué z-index: 1
a mi mosaico de colores y z-index: 0
a mi mosaico en blanco en mi hoja de estilo y listo. ¡Funciona de maravilla!
Nota: Ni la biblioteca ni el programa codepen son mi propio trabajo, ¡solo estoy compartiendo estos recursos con todos ustedes con la esperanza de ayudar a alguien!
Este artículo se recopila de Internet, indique la fuente cuando se vuelva a imprimir.
En caso de infracción, por favor [email protected] Eliminar
Déjame decir algunas palabras