Transición CSS en elementos agregados dinámicamente a través de JavaScript

- Andrés Cruz

Por defecto, cuando creamos un elemento HTML y tiene asignada una transición, la transición CSS no se ejecuta; para que se ejecute, podemos agregar un pequeño retraso; por ejemplo, tomando este fragmento de código de nuestro curso y libro sobre transiciones y animaciones creativas en CSS, tenemos un contenedor:

.box {
    background: #5544AA;
    color: #FFF;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 600px;
    height: 300px;
    margin-top: 10px;
    border-radius: 5px;
    transform: translateX(600%);
    transition: transform 0.4s;
}
.box.show{
    transform: translateX(0);
}

Y para que podamos agregar la transicion en CSS una vez creado el HTML:

document.querySelector('.container').innerHTML += '<div class="box show"><h1>Content</h1></div>'

Agregamos un pequeno retardo; en este ejemplo, la última caja es la que se agrega con el script anterior:

 setTimeout(function () {
        document.querySelectorAll('.container .box')[document.querySelectorAll('.container .box').length - 1].classList.add("show");
    }, 0)
Andrés Cruz

Desarrollo con Laravel, Django, Flask, CodeIgniter, HTML5, CSS3, MySQL, JavaScript, Vue, Android, iOS, Flutter

Andrés Cruz En Udemy

Acepto recibir anuncios de interes sobre este Blog.

!Cursos desde!

10$

En Udemy

Quedan 2d 19:08!


Udemy

!Cursos desde!

4$

En Academia

Ver los cursos

!Libros desde!

1$

Ver los libros
¡Hazte afiliado en Gumroad!