Почему не работает @keyframes?

подскажите пожалуйста, почему у меня не работает анимация. Использую @keyframes. Где я допустил ошибку?

.wrapper {
  margin: 0 auto; 
  width: 500px;
  height: 500px;
  background: #FFCC99;
}

.circle { 
  width: 100px;
  height: 100px;
  background: #FF6666;
  border-radius: 100%;
  animation-name: circle;
  animation-duration: 2s;
}


@keyframes circle{
  0% {
    left: 0%;
  }
  
  50% {
    
  }
  
  
  100% {
    left: 100%;
  }
}
<div class="container">
  <div class="wrapper">
    <div class="circle">
      
    </div>
  </div>
</div>


Ответы (2 шт):

Автор решения: De.Minov

У элемента .circle стоит дефолтное значение position - static, оно как бы знать не знает о существование left и других правил.

Укажите ему, допустим position: relative

.wrapper {
  margin: 0 auto; 
  width: 500px;
  height: 500px;
  background: #FFCC99;
}

.circle { 
  width: 100px;
  height: 100px;
  background: #FF6666;
  border-radius: 100%;
  animation-name: circle;
  animation-duration: 2s;
  position: relative;
}


@keyframes circle{
  0% {
    left: 0%;
  }
  
  50% {
    
  }
  
  
  100% {
    left: 100%;
  }
}
<div class="container">
  <div class="wrapper">
    <div class="circle">
      
    </div>
  </div>
</div>

→ Ссылка
Автор решения: xzdwq

Используя в анимации left вы подразумеваете что позиционирование объекта должно быть абсолютным. просто добавьте в класс circle position: absolute;. Но я подразумеваю, что тогда у Вас собъется позиционирования относительно родителя, поэтому предлогаю использовать следующее: transform: translateX(0%); и transform: translateX(100%);

→ Ссылка