Animaciones de cuadrícula CSS usando área de cuadrícula

Sophie Dubois

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 .lefto .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: lefta grid-area: righten 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>

Sophie Dubois

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: 1a mi mosaico de colores y z-index: 0a 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

Editado en
0

Déjame decir algunas palabras

0Comentarios
Iniciar sesiónRevisión de participación posterior

Artículos relacionados

Cómo formatear correctamente 2 elementos en la misma área de la cuadrícula usando la cuadrícula css

Cuadrícula CSS: cuadrícula-fila / columna-inicio / final VS área de cuadrícula + área de plantilla de cuadrícula

Diseño de cuadrícula CSS: soporte de área de cuadrícula para IE11

Controlar la altura del área de cuadrícula receptiva en una cuadrícula CSS

Número desigual de elementos de cuadrícula en fila en el contenedor de cuadrícula usando cuadrícula css

Sombra de cuadro en un área de cuadrícula css

texto colocado fuera del área de la cuadrícula css

texto colocado fuera del área de la cuadrícula css

texto colocado fuera del área de la cuadrícula css

Escalabilidad de cuadrícula CSS

Estilo de cuadrícula CSS

Expandir un área de cuadrícula CSS a otra área de cuadrícula cuando esta última está vacía

Cuadrícula CSS: áreas de plantilla de cuadrícula repetibles

Cuadrícula CSS: no expanda los elementos de la cuadrícula

Diseño de cuadrícula usando columna de cuadrícula y fila de cuadrícula

Cómo construir dinámicamente plantillas de área de cuadrícula de cuadrícula (nxn) usando la función SASS

usando * ngFor con CSS de cuadrícula de manera efectiva

CSS - Centrado de filas de cuadrícula

Contenedor con diseño de cuadrícula y área de cuadrícula

Contenedor con diseño de cuadrícula y área de cuadrícula

Cuadrícula CSS - Problemas de imagen

Cuadrícula CSS: fracciones dentro de fracciones

Apilar elementos de cuadrícula css

Expandir celda de cuadrícula CSS

css cuadrícula de cuadrados con flexbox

Acolchado inferior de cuadrícula CSS

Diseño de cuadrícula html CSS

CSS - encabezado de cuadrícula adhesiva

Crear diseño de cuadrícula CSS

TOP Lista

  1. 1

    ¿Cómo ocultar la aplicación web de los robots de búsqueda? (ASP.NET)

  2. 2

    OAuth 2.0 utilizando Spring Security + WSO2 Identity Server

  3. 3

    Manera correcta de agregar referencias al proyecto C # de modo que sean compatibles con el control de versiones

  4. 4

    Ver todos los comentarios en un video de YouTube

  5. 5

    uitableview delete button image in iOS

  6. 6

    ¿Título del selector de SwiftUI?

  7. 7

    Swift / Firebase : Facebook 사용자가 계정을 만들 때 Firebase 데이터베이스에 제대로 저장하려면 어떻게해야합니까?

  8. 8

    ¿Es posible reemplazar los valores de un archivo config.properties a través de TFS?

  9. 9

    Representación de mapas 3D en juegos

  10. 10

    Golang ListenAndServeTLS devuelve datos cuando no se usa https en el navegador

  11. 11

    Declarar propiedades reactivas (agregar bloques de componentes dinámicamente desde la inserción de matriz)

  12. 12

    Cómo hacer que SwiftUI Text multilineTextAlignment comience desde arriba y centro

  13. 13

    Cómo depurar una aplicación React en Visual Studio 2019 usando la plantilla "Blank Node.js"

  14. 14

    Múltiples relaciones en la misma tabla con dos columnas Laravel

  15. 15

    No existe tal archivo o directorio cuando se inicia el nombre del directorio con /

  16. 16

    Verilog : 입력 신호를 한 클럭 주기로 지연시키는 방법은 무엇입니까?

  17. 17

    ¿Cómo hacer un generador de ruido Perlin más suave?

  18. 18

    Problème avec le dessin d'un élément Qml avec des appels OpenGL bruts

  19. 19

    El nombre 'HttpContext' no existe en el contexto actual en Razor

  20. 20

    WPF pleine largeur DataGridColumn sur la largeur de DataGrid

  21. 21

    Tengo algunos problemas con el syscall de golang cuando llamo a dll en win7-64

CalienteEtiquetas

Archivo