css-анимация растянута

#css #css-animations

Вопрос:

Моя анимация круга выглядит растянутой? Как я могу сделать так, чтобы круг не выглядел вытянутым по оси x? Он растягивается во время анимации, а затем возвращается в нормальное состояние после завершения анимации.

 p {  animation-duration: 3s;  animation-name: slidein; }  .ball {  border-radius: 50%;  background: blue;  height: 50px;  width: 50px;  display: inline-block;  animation-duration: 3s;  animation-name: slidein; }  .animation-container {  overflow: hidden; }  @keyframes slidein {  from {  margin-left: 100%;  width: 300%;  }  to {  margin-left: 0%;  width: 100%;  } } 
 lt;div class="animation-container"gt;  lt;pgt;hello worldlt;/pgt; lt;/divgt;  lt;div class="animation-container"gt;  lt;div class="ball"gt;lt;/divgt; lt;/divgt; 

Комментарии:

1. Вы анимируете ширину, чего еще вы ожидаете? Может быть, попробуйте также анимировать высоту.

2. хорошо, я был сбит с толку, потому что в учебнике, которому я следовал, была указана ширина элемента абзаца, хотя я не совсем уверен, почему. Его удаление устранило мою проблему.

Ответ №1:

Ну, вы анимируете свой width от 300% до 100%. Удаление этого исправит ситуацию.

 p {  animation-duration: 3s;  animation-name: slidein; }  .ball {  border-radius: 50%;  background: blue;  height: 50px;  width: 50px;  display: inline-block;  animation-duration: 3s;  animation-name: slidein; }  .animation-container {  overflow: hidden; }  @keyframes slidein {  from {  margin-left: 100%;  }  to {  margin-left: 0%;  } } 
 lt;div class="animation-container"gt;  lt;pgt;hello worldlt;/pgt; lt;/divgt;  lt;div class="animation-container"gt;  lt;div class="ball"gt;lt;/divgt; lt;/divgt;