CSS наведение не работает после начальной анимации - PullRequest
1 голос
/ 17 марта 2019

У меня есть базовая кнопка, которую я изначально анимирую. Но после анимации я хочу добавить новую анимацию при наведении курсора; но, похоже, по какой-то причине он не работает.

Например:

кнопка анимации:

.container {
  width: 100%;
  height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  max-height: 100%;
  overflow: hidden;
}

.slide-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 100%;
  background-color: #feffff;
  box-shadow: 0 2px 20px 0 #686f7638;
  margin-top: 10px;
  width: 45px;
  height: 45px;
  animation: testing 1s ease-in forwards;
}

.slide-btn:hover {
  transform: scale(1.5);
}

@keyframes testing {
  to {
    transform: translateX(100px);
  }
}
<div class="container">
  <div class="slide-btn">></div>
</div>

Я предполагаю, что для анимации CSS я использую forwards, но мне действительно нужно forwards, чтобы быть там.

1 Ответ

1 голос
/ 17 марта 2019

Да, это потому, что forwards создает анимацию для переопределения преобразования. Вместо forwards вы можете сделать, как показано ниже:

.container {
  width: 100%;
  height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  max-height: 100%;
  overflow: hidden;
}

.slide-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 100%;
  background-color: #feffff;
  box-shadow: 0 2px 20px 0 #686f7638;
  margin-top: 10px;
  width: 45px;
  height: 45px;
  transform: translateX(100px);
  transition:0.5s;
  animation: testing 1s ease-in;
}

.slide-btn:hover {
  transform: translateX(100px) scale(1.5);
}

@keyframes testing {
  from {
    transform: translateX(0px);
  }
}
<div class="container">
  <div class="slide-btn">></div>
</div>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...