freeCodeCamp/curriculum/challenges/spanish/01-responsive-web-design/applied-visual-design/create-movement-using-css-a...

3.3 KiB

id title challengeType videoUrl localeTitle
587d78a7367417b2b2512ae1 Create Movement Using CSS Animation 0 Crear movimiento usando la animación CSS

Description

Cuando los elementos tienen una position específica, como fixed o relative , las propiedades de desplazamiento de CSS right , left , top y bottom se pueden usar en las reglas de animación para crear movimiento. Como se muestra en el ejemplo a continuación, puede empujar el elemento hacia abajo y luego hacia arriba configurando la propiedad top del fotograma clave del 50% a 50px, pero configurándolo en 0px para el primer fotograma clave ( 0% ) y el último ( 100% ).
@keyframes rainbow {
0% {
color de fondo: azul;
arriba: 0px;
}
50% {
color de fondo: verde;
superior: 50px;
}
100% {
color de fondo: amarillo;
arriba: 0px;
}
}

Instructions

Añade un movimiento horizontal a la animación div . Usando la propiedad de desplazamiento a la left , agregue a la regla @keyframes para que rainbow comience en 0 píxeles al 0% , se mueva a 25 píxeles al 50% y termine a -25 píxeles al 100% . No reemplace la propiedad top en el editor: la animación debe tener un movimiento vertical y horizontal.

Tests

tests:
  - text: La regla <code>@keyframes</code> para <code>0%</code> debe usar el desplazamiento <code>left</code> de 0px.
    testString: 'assert(code.match(/0%\s*?{\s*?background-color:\s*?blue;\s*?top:\s*?0(px)?;\s*?left:\s*?0(px)?;\s*?}/gi), "The <code>@keyframes</code> rule for <code>0%</code> should use the <code>left</code> offset of 0px.");'
  - text: La regla <code>@keyframes</code> para el <code>50%</code> debe usar el desplazamiento <code>left</code> de 25px.
    testString: 'assert(code.match(/50%\s*?{\s*?background-color:\s*?green;\s*?top:\s*?50px;\s*?left:\s*?25px;\s*?}/gi), "The <code>@keyframes</code> rule for <code>50%</code> should use the <code>left</code> offset of 25px.");'
  - text: La regla <code>@keyframes</code> para el <code>100%</code> debe usar el desplazamiento <code>left</code> de -25px.
    testString: 'assert(code.match(/100%\s*?{\s*?background-color:\s*?yellow;\s*?top:\s*?0(px)?;\s*?left:\s*?-25px;\s*?}/gi), "The <code>@keyframes</code> rule for <code>100%</code> should use the <code>left</code> offset of -25px.");'

Challenge Seed

<style>
  div {
    height: 40px;
    width: 70%;
    background: black;
    margin: 50px auto;
    border-radius: 5px;
    position: relative;
  }

#rect {
  animation-name: rainbow;
  animation-duration: 4s;
}

@keyframes rainbow {
  0% {
    background-color: blue;
    top: 0px;

  }
  50% {
    background-color: green;
    top: 50px;

  }
  100% {
    background-color: yellow;
    top: 0px;

  }
}
</style>

<div id="rect"></div>

Solution

// solution required