3.2 KiB
3.2 KiB
id | title | challengeType | videoUrl | localeTitle |
---|---|---|---|---|
587d78a7367417b2b2512ae1 | Create Movement Using CSS Animation | 0 | Criar movimento usando animação CSS |
Description
position
especificada, como fixed
ou relative
, as propriedades de deslocamento de CSS right
, left
, top
e bottom
podem ser usadas em regras de animação para criar movimento. Conforme mostrado no exemplo abaixo, você pode empurrar o item para baixo e depois para cima definindo a propriedade top
do quadro-chave de 50%
para 50px, mas definindo-o como 0px para o primeiro ( 0%
) e o último ( 100%
) quadro-chave. @keyframes rainbow {
0% {
cor de fundo: azul;
top: 0px;
}
50% {
cor de fundo: verde;
top: 50px;
}
100% {
cor de fundo: amarelo;
top: 0px;
}
}
Instructions
div
. Usando a propriedade offset left
, adicione à regra @keyframes
para que o arco-íris comece em 0 pixels a 0%
, @keyframes
para 25 pixels em 50%
e termine em -25 pixels em 100%
. Não substitua a propriedade top
no editor - a animação deve ter movimento vertical e horizontal. Tests
tests:
- text: A regra <code>@keyframes</code> para <code>0%</code> deve usar o deslocamento <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: A regra <code>@keyframes</code> para <code>50%</code> deve usar o deslocamento <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: A regra <code>@keyframes</code> para <code>100%</code> deve usar o deslocamento <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