Можно ли сделать HTML-div с анимацией и масштабом при наведении? - PullRequest
0 голосов
/ 11 января 2019

Я пытался сделать div в качестве кнопок, которые ссылаются на другую подстраницу. Я анимировал их, чтобы они вращались при переходе на сайт. Теперь я хочу сделать эффект наведения, который масштабирует кнопки. Но кажется, что это не узнают. Когда я комментирую анимацию, она работает. Есть ли способ получить анимацию и эффект наведения?

Заранее спасибо!

.animation-links div {
  background: #444;
  margin: 10px;
  text-align: center;
  height: 100px;
  transform: rotateY(90deg);
  transform-origin: center;
}
#animation-1 {
  box-sizing: border-box;
  background: linear-gradient(90deg, #03a9f4, #f441a5, #ffeb3b, #03a9f4);
  background-size: 400%;
  animation-name: animated;
  animation-duration: 1s;
  animation-fill-mode: forwards;
  animation-delay: 0.5s;
} animation-delay: 0.5s;


@keyframes animated {
  0% {
    transform: rotateY(90deg);
  }

  100% {
    transform: rotateY(0);
  }
}
}

.animation-links div:hover {
    transform: scale(1.10);
  }

1 Ответ

0 голосов
/ 12 января 2019

Это потому что animation-fill-mode: forwards;

Если значение для animation-fill-mode не равно ни одному, то по окончании анимации значения свойства css не будут применяться.

Итак, я удалил animation-fill-mode: forwards; из правила стиля #animation-1 и transform: rotateY(90deg); из правила стиля .animation-links div. Также были некоторые дополнительные { и стиль, установленные за скобками. Я тоже их убрал.

См. Фрагмент ниже:

.animation-links div {
  background: #444;
  margin: 10px;
  text-align: center;
  height: 100px;
  transform-origin: center;
}
#animation-1 {
  box-sizing: border-box;
  background: linear-gradient(90deg, #03a9f4, #f441a5, #ffeb3b, #03a9f4);
  background-size: 400%;
  animation-name: animated;
  animation-duration: 1s;
  /*animation-fill-mode: forwards;*/
  animation-delay: 0.5s;
  transition: transform 1s ease;
}


@keyframes animated {
  0% {
    transform: rotateY(90deg);
  }

  100% {
    transform: rotateY(0);
  }
}

.animation-links div:hover {
    transform: scale(2);
  }
<div class="animation-links">
  <div id="animation-1">Animation 1</div>
</div>

Вы можете проверить это здесь также.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...