Ошибка в CSS файле, связанная c rotate()

Всем привет!Я написал анимацию для кнопки, но при выполнении анимации с transform: rotate() кнопка двигается вправо, чего быть не должно.Я сделал 3 класса, которые включают в себя фрагменты анимации, которые я изменяю с помощью js:

let a = document.getElementById("bt")
let b = 0

function ok(){
    a.classList.add("button1")
    a.classList.remove("button")
    a.onclick = null
}

a.addEventListener("animationend", () => {
    b ++
    if(b == 2){
        a.classList.remove("button1")
        a.classList.add("button2")
    }
});

И вот, когда класс меняется на button2, то начинает выполняться следующий код:

.button2{
    position: relative;
    left: 50%;
    transform: translate(-50%, 0);
    background-color: rgba(0, 0, 0, 0.192);
    color: white;
    border: 2px solid rgba(255, 255, 255, 0.199);
    font-size: 0px;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    animation: an3 1s ease-in-out infinite;
}
.button2::after{
    content: '';
    box-sizing: border-box;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 56px;
    height: 56px;
    border-radius: 50%;
    border: 3px solid transparent;
    border-bottom-color: #ff7044;
}
@keyframes an3{
    0%{
        transform: rotate(0deg);
    }
    100%{
        transform: rotate(360deg);
    }
}

И при этом кнопка конечно вращается, но она резко сдвигается вправо, что смотрится не очень.Когда я убираю строчки анимации, то всё работает исправно но не вращается.Надеюсь на вашу помощь.Заранее спасибо!


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