142 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
		
		
			
		
	
	
			142 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| 
								 | 
							
								---
							 | 
						||
| 
								 | 
							
								id: 587d78a8367417b2b2512ae5
							 | 
						||
| 
								 | 
							
								title: Elementos animados con fluctuaciones
							 | 
						||
| 
								 | 
							
								challengeType: 0
							 | 
						||
| 
								 | 
							
								videoUrl: 'https://scrimba.com/c/cZ89WA4'
							 | 
						||
| 
								 | 
							
								forumTopicId: 301040
							 | 
						||
| 
								 | 
							
								dashedName: animate-elements-at-variable-rates
							 | 
						||
| 
								 | 
							
								---
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# --description--
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Hay muchas formas de alterar la cantidad de animaciones de elementos similares con animaciones. Hasta ahora, esto se ha logrado al aplicar una propiedad `animation-iteration-count` y estableciendo reglas `@keyframes`.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								A modo de ilustración, la animación de la derecha consta de dos estrellas, cada una de las cuales disminuye en tamaño y opacidad en la marca del 20% en la regla `@keyframes`, que crea la animación centelleante. Puede cambiar la regla `@keyframes` para uno de los elementos, así las estrellas titilan con diferentes ritmos.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# --instructions--
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Cambia la velocidad de animación del elemento con el nombre de la clase `star-1` cambiando su regla `@keyframes` al 50%.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# --hints--
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								La regla `@keyframes` para la clase `star-1` debe ser del 50%.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								```js
							 | 
						||
| 
								 | 
							
								assert(code.match(/twinkle-1\s*?{\s*?50%/g));
							 | 
						||
| 
								 | 
							
								```
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# --seed--
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								## --seed-contents--
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								```html
							 | 
						||
| 
								 | 
							
								<style>
							 | 
						||
| 
								 | 
							
								  .stars {
							 | 
						||
| 
								 | 
							
								    background-color: white;
							 | 
						||
| 
								 | 
							
								    height: 30px;
							 | 
						||
| 
								 | 
							
								    width: 30px;
							 | 
						||
| 
								 | 
							
								    border-radius: 50%;
							 | 
						||
| 
								 | 
							
								    animation-iteration-count: infinite;
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  .star-1 {
							 | 
						||
| 
								 | 
							
								    margin-top: 15%;
							 | 
						||
| 
								 | 
							
								    margin-left: 60%;
							 | 
						||
| 
								 | 
							
								    animation-name: twinkle-1;
							 | 
						||
| 
								 | 
							
								    animation-duration: 1s;
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  .star-2 {
							 | 
						||
| 
								 | 
							
								    margin-top: 25%;
							 | 
						||
| 
								 | 
							
								    margin-left: 25%;
							 | 
						||
| 
								 | 
							
								    animation-name: twinkle-2;
							 | 
						||
| 
								 | 
							
								    animation-duration: 1s;
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  @keyframes twinkle-1 {
							 | 
						||
| 
								 | 
							
								    20% {
							 | 
						||
| 
								 | 
							
								      transform: scale(0.5);
							 | 
						||
| 
								 | 
							
								      opacity: 0.5;
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  @keyframes twinkle-2 {
							 | 
						||
| 
								 | 
							
								    20% {
							 | 
						||
| 
								 | 
							
								      transform: scale(0.5);
							 | 
						||
| 
								 | 
							
								      opacity: 0.5;
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  #back {
							 | 
						||
| 
								 | 
							
								    position: fixed;
							 | 
						||
| 
								 | 
							
								    padding: 0;
							 | 
						||
| 
								 | 
							
								    margin: 0;
							 | 
						||
| 
								 | 
							
								    top: 0;
							 | 
						||
| 
								 | 
							
								    left: 0;
							 | 
						||
| 
								 | 
							
								    width: 100%;
							 | 
						||
| 
								 | 
							
								    height: 100%;
							 | 
						||
| 
								 | 
							
								    background: linear-gradient(black, #000099, #66c2ff, #ffcccc, #ffeee6);
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								</style>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<div id="back"></div>
							 | 
						||
| 
								 | 
							
								<div class="star-1 stars"></div>
							 | 
						||
| 
								 | 
							
								<div class="star-2 stars"></div>
							 | 
						||
| 
								 | 
							
								```
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# --solutions--
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								```html
							 | 
						||
| 
								 | 
							
								<style>
							 | 
						||
| 
								 | 
							
								  .stars {
							 | 
						||
| 
								 | 
							
								    background-color: white;
							 | 
						||
| 
								 | 
							
								    height: 30px;
							 | 
						||
| 
								 | 
							
								    width: 30px;
							 | 
						||
| 
								 | 
							
								    border-radius: 50%;
							 | 
						||
| 
								 | 
							
								    animation-iteration-count: infinite;
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  .star-1 {
							 | 
						||
| 
								 | 
							
								    margin-top: 15%;
							 | 
						||
| 
								 | 
							
								    margin-left: 60%;
							 | 
						||
| 
								 | 
							
								    animation-name: twinkle-1;
							 | 
						||
| 
								 | 
							
								    animation-duration: 1s;
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  .star-2 {
							 | 
						||
| 
								 | 
							
								    margin-top: 25%;
							 | 
						||
| 
								 | 
							
								    margin-left: 25%;
							 | 
						||
| 
								 | 
							
								    animation-name: twinkle-2;
							 | 
						||
| 
								 | 
							
								    animation-duration: 1s;
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  @keyframes twinkle-1 {
							 | 
						||
| 
								 | 
							
								    50% {
							 | 
						||
| 
								 | 
							
								      transform: scale(0.5);
							 | 
						||
| 
								 | 
							
								      opacity: 0.5;
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  @keyframes twinkle-2 {
							 | 
						||
| 
								 | 
							
								    20% {
							 | 
						||
| 
								 | 
							
								      transform: scale(0.5);
							 | 
						||
| 
								 | 
							
								      opacity: 0.5;
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  #back {
							 | 
						||
| 
								 | 
							
								    position: fixed;
							 | 
						||
| 
								 | 
							
								    padding: 0;
							 | 
						||
| 
								 | 
							
								    margin: 0;
							 | 
						||
| 
								 | 
							
								    top: 0;
							 | 
						||
| 
								 | 
							
								    left: 0;
							 | 
						||
| 
								 | 
							
								    width: 100%;
							 | 
						||
| 
								 | 
							
								    height: 100%;
							 | 
						||
| 
								 | 
							
								    background: linear-gradient(black, #000099, #66c2ff, #ffcccc, #ffeee6);
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								</style>
							 | 
						||
| 
								 | 
							
								<div id="back"></div>
							 | 
						||
| 
								 | 
							
								<div class="star-1 stars"></div>
							 | 
						||
| 
								 | 
							
								<div class="star-2 stars"></div>
							 | 
						||
| 
								 | 
							
								```
							 |