Muranx
@Muranx
кто понял this тот в цирке не смеётся

Что в данном случае происходит при анимации див блока?

Здравствуйте, задача простейшая. . . У меня есть кнопочка, при наведении на которую мне нужно чтобы была как - бы волна, ну короче всё поймёте из кода . . .
<div class="wrapper">
    <div class="outer"></div>
    <div class="forFakeBorder"></div>
</div>

@keyframes fakeborder{
  from{
    border: none;
    transform: scale(1);
  }to{
    border: 3px solid green;
    transform: scale(1.5);
  }
}

*{
  box-sizing: border-box;
  margin: 0px;
  padding: 0px;
}
.wrapper{
  width: 80px;
  height: 80px;
  margin: 80px auto;
  position: relative;
  border: 1px solid red;
}

.outer{
  width: 60px;
  height: 60px;
  border: 1px solid;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  border-radius: 50%;
}
.forFakeBorder{
  width: 60px;
  height: 60px;
  border: 1px solid;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  border-radius: 50%;
}

.wrapper:hover .forFakeBorder{
  animation-name: fakeborder;
  animation-duration: 1s;
  animation-iteration-count: infinite;
  animation-delay: 1s; 
}

собственно кнопочка это див с классом outer рядом с ней я расположил див блок для того, чтобы он просто выполнял функцию фэйка ( оба перечисленных элемента позиционированны абсолютно относительно родительского блока wrapper , ), при :hover родительского блока должна срабатывать анимация, НО она работает очень странно, неведомой мне причине, анимация съезжает почему-то куда-то вниз и вправо ? Почему так, и как сделать , чтобы этот forFakeBorder работал?
  • Вопрос задан
  • 82 просмотра
Решения вопроса 1
Raxen
@Raxen
TechLead Frontend Developer, Beeline
UPD: Исправлено
@keyframes fakeborder{
  from{
    border: none;
    transform: scale(1) translate(-50%, -50%);
  }to{
    border: 3px solid green;
    transform: scale(1.5) translate(-50%, -50%);
  }
}

.forFakeBorder {
  transform-origin: left top;
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы